永发信息网

C语言 求小于等于N以内的素数之和。越简单越好,谢谢!

答案:2  悬赏:0  手机版
解决时间 2021-11-19 14:08
C语言 求小于等于N以内的素数之和。越简单越好,谢谢!
最佳答案
main()
{
int i,j,n;
int sum;
sum=0;
scanf("%d",&n);

for (i=3; i<=n; i++)
{
// 为什么是sqrt(i),思考一下
for (j=2; j<=sqrt(i); j++)
{
// i被j整除,显然不是素数了
if (i%j == 0) break;
}
// i不能被2~sqrt(i)间的数整除,素数也
if (j > sqrt(i))
{
sum += i;
}
}
printf("%d",sum);
}追问第一层循环里的i应该赋值为2吧,或者sum=2;追答是的,漏了
全部回答
//本程序演示求N之内的素数及和(指在一个大于1的自然数中,除了1和此整数自身外,没法被其他自然数整除的数)  
#include
#include "math.h"
#define N n
main()
{
int i,j,n;
int line,s=0,a[N],sum;
printf("输入素数范围");
scanf("%d",&n);
for(i=2;ia[i]=i;
for(i=2;ifor(j=i+1;j{
if(a[i]!=0&&a[j]!=0)
if(a[j]%a[i]==0) //这里就是进行素数的判断
a[j]=0;}//a[j]=0使不是素数的时候,退出循环
printf("\n");
for(i=2,line=0;i{
if(a[i]!=0)
{printf("%-5d",a[i]);
s++;
line++;}
if(line==10)
{printf("\n"); //一行数满十个,换行
line=0;} //line清零,继续下个循环
}
printf("\n个数:%d\n" ,s);
printf("素数和%d\n",sum);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
重庆三峡银行(回龙湾支行)地址在什么地方,想
中国人寿激活码激活后是不是就是买了保险了?
校运动会,报了个一百米,和4×1接力。。谁知
韦林职业培训学校(顺庆佳园东南)地址好找么,
07年出厂的polo是国三还是国四
我26,初中文化,有纹身有案底,我不甘一生平
高内聚是什么意思
一个人工喷泉,喷出水柱5米,若每分钟喷水6立方
乐街我想知道这个在什么地方
东台有哪些私立小学
登陆QQ 还是地下城?
残酷2E8700 CPU能玩看门狗吗
0.88乘以1点6+0点222×3点6=多少用简便方法计
什么叫KA经理?KA是什么意思?
193*47*887*29什么梗
推荐资讯
伊瘦孝素奶昔减肥效果咋样谁喝过
我国公民的监督权包括 [ ] A.
这是怎么了,我儿子嘴巴旁边这样了怎么办
关于彝语歌曲 祖国之子有什么背景
海峰图文广告地址在哪,我要去那里办事,
大航海时代女神像和天使像难得吗?怎么得?
51减去六个七得多少算式
D3004次列车经过哪些站点
我在开发区翠屏广场想去汉中路河海水资源大厦
有自考本科考研的学长学姐或研友们吗
阳城磨滩家龙农家乐地址好找么,我有些事要过
耒阳到邵东或者邵阳的汽车的时间是多少?票价
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?