#include<stdio.h>
int main()
{
int m, n;
for (m = 2; m <= 50; m++)
{
for (n = 2; n < m; n ++ )
{
if (m % n ==0)
break;
}
if (m == n)
printf("%d ", m);
}
getchar();
return 0;
}
2 回答
已采纳
望远
TA贡献1017条经验 获得超1032个赞
这里是输出2~50之间的素数,采用的就是一个思路:如果一个数n不能被2~n-1整除,那么这个数就是素数,如果可以整除,那么还程序的内循环就会提前跳出,提前跳出后m>n而正常跳出的时候是n=m,可以通过这个来判断是否是素数,最后依次输出。
望远
TA贡献1017条经验 获得超1032个赞
#include<stdio.h> int main() { int m, n; for (m = 2; m <= 50; m++) //外层循环控制要判断的范围 2-50 { for (n = 2; n < m; n ++ ) //内层循环对m依次判断,n的取值是2—m-1,如果内循环正常结束那么n==m,2是一个特例,内循环条件不满足,直接跳出。 { if (m % n ==0) //如果m能够被n整除,就跳出内循环 break; } if (m == n) //判断m?=n,如果相等就是素数,当不是素数时n<m printf("%d ", m); 打印输出素数 } getchar(); return 0; }
- 2 回答
- 0 关注
- 1434 浏览
添加回答
举报
0/150
提交
取消