如何写程序输出100以内的素数?
#include <stdio.h>
int main()
{
int i=1;
for(i=2; i<100; i++){
int x;
int a=1; //i是素数
for(x=2; x<i; x++){
if(i%x==0){
a=0;
break;
}
}
if(a==1){
printf(" %d ", x);
}
}
printf("\n");
return 0;
}
这个就是嵌套的循环 就是需要用到两个循环时用的 如果需要多个循环也可以用
找出前50个素数
#include <stdio.h>
int main()
{
int i=1;
int cnt=0;
for(i=2; cnt<50; i++){
int x;
int a=1; //i是素数
for(x=2; x<i; x++){
if(i%x==0){
a=0;
break;
}
}
if(a==1){
printf(" %d ", x);
cnt++;
}
}
printf("\n");
return 0;
}
这是用for写的,
下面是用while写的
#include <stdio.h>
int main()
{
int i=1;
int cnt=0;
// for(i=2; cnt<50; i++){
while(cnt<50){
int x;
int a=1; //i是素数
for(x=2; x<i; x++){
if(i%x==0){
a=0;
break;
}
}
if(a==1){
printf(" %d ", x);
cnt++;
}
i++;
}
printf("\n");
return 0;
}
这两种方法用while便于理解比较常规 用for则容易让别人看不懂