这代表着在2到sqrt(i)中不存在因子,即i是素数.所以输出这个数printf("%d ",i);累加到sum上.至于参数n, 是指向计数器的指针. (*n)++ 累计了素数的个数.到主函数中输出n值就是这个*n了.
int prime(int n)//求素数过程,是返回1,不是返回0 { for(int i=2;i<int(n);i++)if (n%i==0)return 0;return 1;} void main(){ int i=0;for(int j=2;j<100;j++)if(prime(j)==1){printf("%d\t",j) ;i++;} } ...
int map[100];//数据规模,这里使用题目中的100,实际上应该是标记0-100,也就是101个单位,但是100是已知的非素数,所以用100个元素就足够了。void make_map(void){int i,j;map[1] = 1; //1 不是素数。for(i = 2; i < 100; i ++){if(map[i])continue; //对于已知的非素数,不...
int isprime(int n){for(int i=2;i*i<=n;i++)if(n%i==0)return 0;return n>1;} int main(){int n=0,i;for(i=2;i<101;i++)if(isprime(i)){printf("%d ",i);n++;} printf("\nToatl=%d\n",n);return 0;}
isprime[1] = false;for(i = 2; i < 100; i++) /*先初始化2~100的都是素数,然后将非素数筛除掉*/ isprime[i] = true;for(i = 2; i < 10; i++) /*将所有含有小于10的质因子的数筛除掉*/ { if(isprime[i]) /*如果i是素数,则将它的倍数全部筛掉*/ for(j =...
include<stdio.h>#include<math.h>int main(){int a;scanf_s("%d", &a);//输入要求的数字大小int num, i, b, flag = 0;for ( b = 2; b <= a; b++){num = sqrt(b);for ( i = 2; i <= num; i++){if (b % i == 0)break;}if (i > num){printf("%d\t",...
main() { int i,j,flag; int sum=0; for(i=3;i<=100;i++) { for(flag=1,j...
主函数中定义一个初值为0的变量s承载素数的累加和,用一for循环遍历3~100间的奇数,判断这些奇数是否有1和自身以外的因子,没有的确定为素数并其值累加到s,s便是题解。代码如下:include "stdio.h"int main(int argc,char *argv[]){ int i,s,j; for(s=0,i=3;i<100;i+=2){//...
#define N 100void main(){ int k; printf("3到100间的素数为:\n"); for (int j=3;j<N;j++) { k=0; for(int i=2;i<j;i++) if(j%i==0) k=1; if(k==0) printf("%d ",j); } printf("\n");} xdhydn | 发布于2010-12-06 举报| 评论 0 2 #include <stdio.h>int...