皮皮网
皮皮网

【usb通信源码】【下载源码不能用】【keil查看源码 芯片】求质数源码_求质数代码

来源:hcsr04 源码 发表时间:2024-12-24 10:01:58

1.哪位大神帮个忙(c++)?
2.php编程输出100以内的求质素数

求质数源码_求质数代码

哪位大神帮个忙(c++)?

       首先根据质数筛法,用数组prime标记0~中的数源所有质数,prime[i]==1表示i为质数

       然后将prime数组转为前缀和数组,码求usb通信源码即令prime[i]等于prime[0]~prime[i]之和

       表示0~i中的质数质数个数,这样任意区间[a,代码下载源码不能用b]中的质数个数就等于prime[b]-prime[a-1]

       相应C++代码和运行结果如下:

       如图输出了1~、1~之间的求质keil查看源码 芯片质数个数分别为和

       附源码:

#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,码求软件盒子php源码):

       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,代码前端html模板源码int(i**0.5)):

       if i%j == 0:

       n = True

       break

       if n == False:

       print(i,end=" ")

       su(,)

相关栏目:热点