
printf("1~100的质数:\n")
for(i = 2i <= 100i++){
for(j = 2j < ij++){
if(i%j == 0){
break
}
}
if(j >= i)
printf(" %d "厅胡州,i)
}
还有很多方法,要需要的话,可以跟我做轿发邮扮蔽件 616028858@qq.com
0到100之间的质数一共有25个。
这25个质数按照从大到小的顺序排列为:2、3、5、7、11、13、17、19、23、29、31、37、
41、43、47、53、59、61、67、71、73、79、83、89、97。
扩展资料:
质数具有许多独特的性质:
1、质数p的早蚂凳约数只有两个:1和p。物磨
2、初等数学基本定理:任一大于1的自然数,要么本身是质数,要么可以分解为几个质数之积,且这种分解是唯一的。
3、质数的个数是无限的。
4、质数的个数公式π(n)是不减函数。
5、若n为正整数,在n²到(n+1)²之间至少有一个质数。
6、若n为陆旅大于或等于2的正整数,在n到n!之间至少有一个质数。
7、若质数p为不超过n(n≥4)的最大质数,则p>n/2 。
8、所有大于10的质数中,个位数只有1,3,7,9。
#include<stdio.h>
int main()
{
int i,j
int count=0
for(i=2i<100i++)
{
for(j=2j<=i/2j++)
if(i%j==0)//如果i能被j整除 就不是质数 退出扰孝旦循环
break
if(j>i/2)
{
count++
printf("%-3d",i)
if(count%5==0)//当每一行有5个数时慎辩 换行
printf("\n")
}
}
return 0
}
for(j=2j<=i/2j++)中的 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是质数
参考资料
输出100以内的质数,用c语言如何编写?.百度知道[引用时间2017-12-25]
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)