搜索
首页 电脑/网络 程序设计 C/C++

用筛选法求100之内的素数

用筛选法求100之内的素数,把这些放到一个一维数组之中,并求出下标为奇数的所有项的和,用筛选法求100之内的素数,把这些书放到一个一维数组之中,并求出下标为奇数的所有项的和.

全部回答

2006-04-21

0 0

    程序没那么复杂。我写的一共才17行。 源程序如下: #include main() { int i,j,k=0,sum=0,a[50]; for(i=2;i<=100;i++) //这个循环用来考察每个2-100的数 {j=2; while(i%j!=0) //用每一个小于i的数对i取模。
    当j=i时此循环一定结束 j++; if(i==j) //若只有当j=i时,才有i%j==0,说明这个数是素数 {a[k]=i; k++;} } for(i=0;i<k;i=i+2) //这个循环用来求题中要求的和 sum+=a[i]; for(i=0;i<k;i++) //输出数据 if(a[i]!=0) printf(" %d",a[i]); printf("\n"); printf("sum=%d",sum); } //说明:所得的素数放在数组a[]的 a[0]到a[k-1]中,从a[k]到a[50]装的是建立数组时系统分配的一些随即数(如果想装的是零的话,可先对数组赋值即可)。
    我想这不影响程序结果。 运行结果如图:。

2006-04-20

    #include #include #define UB 100 #define LB 2 int generate_prime_array(int *p){ int i,k,j; int count_prime=0; for(i=LB;ik) {*p=i;count_prime++;p++;} }/*outer for*/ return count_prime; } int prime_odd_sum(int *p){ int sum=0; while(*p){ sum+=*p; p+=2; } return sum; } void main(){ int count,i; int a[50]={0}; count=generate_prime_array(a); for(i=0;i<count;i++) printf("%d\t",a[i]); puts(""); printf("sum=%d",prime_odd_sum(a)); }。
    。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
C/C++
程序设计
电脑装机
操作系统/系统故障
硬件
笔记本电脑
百度
互联网
反病毒
软件
程序设计
C/C++
数据库
VB
JAVA相关
C#/.NET
VC++
汇编语言
其他编程语言
C/C++
C/C++
举报
举报原因(必选):
取消确定举报