c语言求100以内素数(c语言求水仙花数的算法)
一、c语言求一千以内的素数
#include"stadio.h"
boolIsSushu(intn)
{undefined
boolIsSushuFlg=true;
if(n<=1)
{undefined
returnfalse;}
for(inti=2;i<=(int)sqrt((double)n);i++){undefined
if(0==n%i)
{undefined
IsSushuFlg=false;
break;}
}returnIsSushuFlg;
}#defineN1000
intmain()
{undefined
printf("Sushuis:/n");
for(inti=2;i<N;i++)
{undefined
boolIsSushuFlg=IsSushu(i);
if(IsSushuFlg)
{undefined
printf("%d/n",i);
}
}
system("pause");
return0;
}
二、c语言100到300以内的素数有几个
经过计算和筛选,100到300之间的素数一共有21个。素数是只能被1和自身整除的数,而100到300之间的数有很多,需要用筛选法才能确定哪些数是素数。
在这个区间内,我们需要从2开始一个一个地判断每个数是不是素数,如果一个数能被其他数整除,则它不是素数。
通过这种方法,我们最终得出了21个素数,它们分别是101、103、107、109、113、127、131、137、139、149、151、157、163、167、173、179、181、191、193、197和199。
三、c语言编程输出100以内的质数
#include<stdio.h>
intmain()
{
inti,j;
intcount=0;
for(i=2;i<100;i++)
{
for(j=2;j<=i/2;j++)
if(i%j==0)//如果i能被j整除就不是质数退出循环
break;
if(j>i/2)
{
count++;
printf("%-3d",i);
if(count%5==0)//当每一行有5个数时换行
printf("\n");
}
}
return0;
}
for(j=2;j<=i/2;j++)中的j<=i/2是表示从j=2开始遍历到j=i/2看看2~i/2中能否整除i
如果都不能说明i是质数(也就是j>i/2)
如果有1个及以上能整除i说明i不是质数
for()
{
}
//for循环结束之后j的值是大于i/2的因为for循环的条件是:j<=i/2
//因此当j>i/2时for循环结束
if(j>i/2)
这里当且仅当2~i/2都不能整除i时也就是j>i/2才说明i是质数