#include<stdio.h>
int f(int n)
{int i;
for(i=2;i*i<=n;i++)
if(n%i==0)
return 0;
return 1;}
main()
{int i;
for(i=2;i<=1000;i++)
if(f(i)==1)
printf("%d ",i);}
这个程序哪有问题
可以改的地方是,如果为了让程序运行速度更高,偶数是不用判断的,所以N可以从3开始而且每次加2;说有问题是你的自己上无法编译还是什么情况。
应改为:
#include<stdio.h>
int prime(int n)
{
int i = 0;
for (i = 2; i * i <= n; i++)
{
if (n % i == 0)
{
break;
}
}
if (i * i > n)
{
return 1;
}
else
{
return 0;
}
}
int main()
{
int i = 0;
for (i = 2; i <= 1000; i++)
{
if (prime(i)==1)
{
printf("%d ",i);
}
}
return 0;
}
扩展资料:
简单C语言算法:
/*TC2.0调试成功*/
#include "stdio.h"
#include "math.h"
/*判断是否为素数*/
int IsPrime(long number);
/*判断此数是否为超级素数函数*/
int IsSuperPrime(long number);
参考资料来源:百度百科-超级素数