输出100以内的所有素数 C语言初学问题

2020-05-30 教育 126阅读
之前面试好多应届毕业生,大多数都写不出这个程序,唉,只能叹息~~
首先是素数的定义:
质数又称素数。指在一个大于1的自然数中,除了1和此数自身外,不能被其他自然数整除的数。
所以1不是素数,循环变量应该从2开始
for(i=2;i<=100;i++)
{
for(j=2;j<=i/2;j++)//i很大的时候,应该用j<=sqrt(i),减少循环的次数
{
if(i%j==0) break;//如果能整除,说明i不是素数,跳出循环
}
if(j>i/2) printf("%d ",i);//如果没有break出来的话,j会一直增加,直到不满足循环条件(j<=i/2)
//如果循环break出来的话,j肯定满足循环条件(j<=i/2),不用输出i
}
声明:你问我答网所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系fangmu6661024@163.com