15课课后作业,不太理解错在哪了。
如图,代码如下。要求是求10000以内的素数,甲鱼老师的答案是1229个,但我输出的结果对不上,不太理解是错在哪里了,麻烦大家帮我看看。谢谢!
#include <stdio.h>
main()
{
int i=3,j,count=2;
//初始化默认已经计算完1、2,都是素数,从3开始计算。
for (;i<=10000;i++) //从3开始计算是否为素数
{
for (j=2;j<=i/2;j++)//从2开始作为除数
{
if(i%j==0)//一旦被整除
{
count ++;//计数器加1
break;//跳出本轮循环,计算下一个数
}
}
}
printf("10000以内共有%d个素数!\n",count);
}
~
~ 你先告诉我,素数的定义是什么,
然后你程序求的是什么 你这输出的不是质数啊 可以被整除的是合数,你循环计算的是合数的数量 而且,1既不是质数也不是合数,你要先搞懂这些基本的数学知识呀 丢人了 {:5_99:},
明白了,多谢大家~
页:
[1]