令 Pi 表示第 i 个素数。现任给两个正整数 M≤N≤104,请输出 PM 到 PN 的所有素数。
输入格式:输入在一行中给出 M 和 N,其间以空格分隔。
输出格式:输出从 PM 到 PN 的所有素数,每 10 个数字占 1 行,其间以空格分隔,但行末不得有多余空格。
输入样例:5 27输出样例:
11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103
#include#define max 10000001 int prime[max],prime_cnt=0; bool isprime[max]={false}; void Find_prime(int n){ for(int i=2;i =n) break; for(int j=i+i;j 几个注意点
1、bool isprime[max]不能={true} 只能={false} 和数组全部为0 一个道理
2、所以 如果想用全部为 true的逻辑 要遍历一遍 ,设为true,若max值很大,可能会超时? 所以代码中的用false逻辑很好
3、1不是素数 2是素数
4、输出素数时 是prime[i-1] !! 因为prime 下标从0开始
5、用cnt2来表示个数 不用用 i 来判断 cnt2%10==0 时 n i=N时 不输出空格
6、空格 与 数 分开的思想 比数与空格连在一起的好。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)