现在的位置: 首页 > 综合 > 正文

1480 输出质数表

2013年01月01日 ⁄ 综合 ⁄ 共 531字 ⁄ 字号 评论关闭

 

描述

输出质数表
输出从0到给定的N之间(包含N)的所有质数。1<N<1000。注意1不是质数,2是质数。

输入

输入有m+1行,第一行输入测试数据的组数m,下面的m行每行输入一个数N。

输出

输出有m行,每行输出从0到对应给定的N之间(包含N)的所有质数。

样例输入
2
5
11
样例输出
2 3 5
2 3 5 7 11

简单的判断

#include<stdio.h>  

main() 
{ int m,n,i,num; 
int p[1002]; 
long int s; 
int temp;
int te,number;
s=2; 
m=1; 
n=1; 
num=1; 
p[1]=2 ;
scanf("%d",&number);
for (te=1;te<=number;te++)
{s=2; 
m=1; 
n=1; 
num=1; 
p[1]=2;

scanf("%d",&temp);

for (;num<temp;num++)


{   
	
	
	   for (i=1,n=2; ;)  
		   
	   {
		   m=p[i] ; 
		   
		   if (m>s/2) 
			   break; 
		   
		   else 
			   if(m*n<s) 
				   n++; 
			   
			   else 
				   if(m*n==s) 
				   {
					   s++;
					   i=1;
					   n=2;
				   }
				   
				   else 
					   if(m*n>s) 
					   {
						   i++;
						   n=2;
					   }
					   
	   } 
	   
	   p[num]=s;
	   if(s>temp)
		   break;
	   
	   printf ("%ld ",s); 
	   
	   s++; 
	   
	   
} 
printf("\n");


}
} 

 

抱歉!评论已关闭.