C语言求素数的问题
#include <stdio.h>#include <stdlib.h>
void main()
{
int i, a = 0,j;
_Bool flag = 1;
for (i = 2; i < 10000; i++)
{
for (j = 2; j < i / 2; j++)
{
if (i % j == 0)
{
flag = 0;
break;
}
}
if (flag)
{
a++;
}
else
{
flag = 1;
}
}
printf("10000以内共有%d个素数!\n", a);
system("pause");
}
最终结果是1230,正确的是1229,多了一个,请问错在哪里? for (j = 2; j < i / 2; j++)改成for (j = 2; j <= i / 2; j++)
你这样 i 为4的时候结果也是素数 洋洋痒 发表于 2021-2-5 10:48
for (j = 2; j < i / 2; j++)改成for (j = 2; j
噢噢谢谢
页:
[1]