#include<stdio.h>
#include<math.h>
int isPrime(int);
//int isPrime2(int);
//void primeDecompositon(int num);
int main()
{
int i,count;
int range,sum;
i=range=0;
while(1)
{
printf("range:");
scanf("%d",&range);
count=1;
sum=0;
for(i=2;i<=range;i++)
if(isPrime(i))
{
sum+=i;
if(i>count*10) //打印count*10 ~ (count+1)*10-1之间的数
{
printf("\n");
count++;
}
printf("%d ",i);
}
}
return 0;
}
int isPrime(int num)
{
int i=0;
if(num<2) return 1;
else
for(i=2;i<=(int)sqrt(num);i++)
{
if(num%i==0) break;
}
if(i>(int)sqrt(num)) return 1;
else return 0;
}
/*
int main()
{
int num=0;
while(1)
{
printf("please input an integer:");
scanf("%d",&num);
primeDecompositon(num);
}
return 0;
}
int isPrime2(int num)
{
int i=0;
if(num<2) return 0; //0,1不是素数
else
for(i=2;i<=(int)sqrt(num);i++)
{
if(num%i==0) break;
}
if(i>(int)sqrt(num)) return num; //非break退出循环说明非素数,返回素数本身
else return i; //记录break时的循环变量作为分解因子
}
void primeDecompositon(int num)
{
int factor=0;
factor=isPrime2(num);
if(factor==0) printf("%d is not prime.\n",num);
else if(factor==num) printf("%d\n",factor);
else if(factor<=(int)sqrt(num))
{
printf("%d*",factor);
num=num/factor;
primeDecompositon(num);
}
}
*/