c语言,再线等待,急!!!!!!!!!!!!!!

来源:百度知道 编辑:UC知道 时间:2024/09/23 11:52:16
5.10 打印100~1000间的所有素数。
提示:素数n是只能被1和自身n整除的自然数,例如17是素数,而21不是素数
,请解释一下思路,给一个初学者能接受的编程

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
int m,i,j;
for(i=100;i<1000;i++)
{
j=(int)sqrt(i);
m=2;
while((i%m) && m<=j)m++;
if(m>j)printf("%4d",i);

}
/*system("pause");*/
}

哪不明白 问我

最简单的思路:
素数就是不能被比它小的数整除的数(首先要排除偶数哈,因为2是素数……)
上面提到的比它小的数可以缩减到 这个数本身的开方大小,如19的开方是4多一点,只要19不能被2-5整除,那么它就是素数了嘿嘿,没给源代码,对楼主的尊重

#include<stdio.h>
int main()
{
int n1,nm,i,j,flag,count=0;
do{
printf("Input START and END=?");
scanf("%d%d",&n1,&nm); /*输入求素数的范围*/
}while(!(n1>0&&n1<nm)); /*输入正确的范围*/
printf("...........PRIME TABLE(%d--%d)............\n",n1,nm);
if(n1==1||n1==2) /*处理素数2*/
{
printf("%4d",2);
n1=3;count++;
}
for(i=n1;i<=nm;i++) /*判定指定范围内的整数是否为素数*/
{
if(!(i%2))continue;
fo