题目:
输出1-N之间所有的素数。
输入:
一个整数N(2<=N<=10000)
输出:
1-N之间所有的素数,含有N,为了便于观察,在控制台里每行输出5个数,并且这5个数之间以一个空格作为分隔。
想法:
1、关于判断是不是素数,可以通过两层循环,第一层控制使1到所想的数值之间循环,第二层控制判断,定义一个flag用来判断是不是素数(素数为1,不是素数为0)。如果是素数就跳出循环,最后用if语句输出所有的满足条件的素数。
2、关于输出格式的话,定义一个变量i,在每个素数输出之后
加一,每次整除5时输出一个转行符,最后达到输出要求。(也可以通过数组达到要求,不过程序有些繁琐)
代码
#include <stdio.h>
#include <math.h>
void main()
{
int n,p,i;
for(n=2;n<=10000;n++)
{
int flag=1;
for(p=2;p<n;p++)
{
if(n%p==0)
{
flag=0;
break;
}
}
if(flag==1)
{
printf("%5d\t",n);
i++;
if(i%5==0)
{
printf("\n");
}
}
}
}