用C语言程序编写:输出200~300之间所有的素数~!

同上~!

楼上的楼上算法可以改进:
第一,200以上偶数一定不是素数
第二,17*17=289,就是说,300以内的合数,最小的因子最大只能是17。所以,程序可以改为下面这种,计算时间将大大地减少:
#include <stdio.h>
void main()
{
int i,k;
for (i=201;i<300;i=i+2)
{
if(i%3!=0 && i%5!=0 && i%7!=0 && i%11!=0 && i%13!=0 && i%17!=0)
printf("%d ",i);
}
}
就可以了。循环比原来减少一半每次循环一共只要比6次。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-04-13
#include <stdio.h>
void main()
{
int i,k;
for (i=200;i<300;i++)

for(k=2;k<i;k++)
{
if(i%k==0)
break;
if(i==k+1)
printf("%d ",i);
}
}本回答被提问者和网友采纳
第2个回答  2007-06-07
楼上的程序可以优化一下的
for(k=2;k<i;k++)

改成for(k=2;k<sqrt(i);k++)
第3个回答  2019-12-25
#include
<stdio.h>
void
main()
{
int
i,k;
for
(i=200;i<300;i++)
for(k=2;k<i;k++)
{
if(i%k==0)
break;
if(i==k+1)
printf("%d
",i);
}
}