话不多说,先上代码
#include<stdio.h>
#include<math.h>
int main()
{
int i, j;
for (i = 21000; i >= 1; i--)
{
for (j = 2; j <= i; j++)
{
if (i % j ==0)break;
}
if (i == j)break;
}
printf("%d", i);
return 0;
}
一道多重循环的题,课上突然卡住,现在来复盘一下。
思维:求最大素数,可从最大数往前遍历,即第一个for语句,先判断21000是否为素数,可从2往上查找,即第二个for语句,然后是20999,20998……这样一个个循环下来,到20983,输出符合条件的数。
已编译,可运行,运行结果20983。
初写博客,经验欠缺,欢迎交流学习。