编程求解:找出1-10000之间所有的素数。(必须使用自定义函数),给采纳

2024-12-03 10:56:31
推荐回答(2个)
回答(1):

楼上的代码有问题,看我的
#include "stdio.h"
int isSuShu(int n)
{
int i;
for(i=2;i<=n/2;i++)
{
if(n%i==0)
return 0;
}
return 1;
}
main()
{
int i;
int n=0;

for(i=2;i<=10000;i++)
{
if(isSuShu(i))
{
printf("%3d ",i);
}
}
getch();
}

回答(2):

#include "stdio.h"
#include "conio.h"
int isSuShu(void)
{
int i;
for(i=2;i<=10000/2;i++)
{
if(n%i==0)
return 0;
}
return 1;
}
main()
{
int i;
int n=0;
for(i=2;i<=10000;i++)
{
if(isShuShu(i))
{
printf("%3d ",i);
}
}
getch();
}

思路:
一个函数isSuSHU()判断给定数是否是素数,判定依据是不被任意小于自身1/2的数整除(大于自身1/2的整数不可能被整除)那么这个数就是素数;
从1-10000逐一排查,看谁是素数,是的输出即可