1.哪位大神帮个忙(c++)?
2.php编程输出100以内的求质素数
哪位大神帮个忙(c++)?
首先根据质数筛法,用数组prime标记0~中的数源所有质数,prime[i]==1表示i为质数然后将prime数组转为前缀和数组,码求变天指标源码即令prime[i]等于prime[0]~prime[i]之和
表示0~i中的质数质数个数,这样任意区间[a,代码源码怎么读音b]中的质数个数就等于prime[b]-prime[a-1]
相应C++代码和运行结果如下:
如图输出了1~、1~之间的求质海浪淘金源码质数个数分别为和
附源码:
#include <iostream>
#define N
using namespace std;
int prime[N + 1]; // 标记每个数是否为质数,初值为0
int main() {
for (int i = 2; i <= N; ++i)
prime[i] = 1; // 初始化2~N都为质数
for (int i = 2; i * i <= N; ++i) { // 从最小的数源质数2开始
if (prime[i] == 1) // 若i为质数
for (int j = i * i; j <= N; j += i) // 标记i的所有倍数j为合数
prime[j] = 0; // i*i之前的倍数肯定已标记过
}
for (int i = 1; i <= N; ++i) // 转为前缀和
prime[i] += prime[i - 1]; // 表示[0~i]中的质数个数
int m, a, b;
cin >> m;
int ans[m]; // 保存m组结果
for (int i = 0; i < m; ++i) {
cin >> a >> b;
ans[i] = prime[b] - prime[a - 1];
}
for (int i = 0; i < m - 1; ++i)
cout << ans[i] << " ";
cout << ans[m - 1] << endl;
return 0;
}
php编程输出以内的素数
素数就是只能被 1 和它本身所整除的数。从2~,码求逐个判断素数,质数如果是代码素数,就打印,求质否则不打印。数源源代码如下:
#coding:utf-8
for i in range(2,码求mangos 源码 分析):
fg = 0
for j in range(2,i-1):
if i%j == 0:
fg = 1
break
if fg == 0:
print(i)
i = 2
c = []
while i <= :
j = 2
while j <= i:
if i % j == 0:
if i == j:
c.append(i)
break
j += 1
i += 1
print(c)
扩展资料
a~b之间的素数的代码
def su(a,b):
for i in range(a,b):
n = False #默认不是素数,如果是质数素数,跳出循环
for j in range(2,代码网站源码 abint(i**0.5)):
if i%j == 0:
n = True
break
if n == False:
print(i,end=" ")
su(,)