小明求素数积
时间限制:1000 ms | 内存限制:65535 KB
难度:1
描述
小明最近遇到了一个素数题,是给你一个正整数N(2=<N<=1000)让你求出2~N的所有素数乘积的后六位。
输入
第一行输入一个正整数T(T<=20)表示有T组数据
每组数据占一行,输入一个正整数N(2=<N<=1000)
输出
每组数据输出占一行,输出2~N素数乘积的后六位
样例输入
3
3
6
43样例输出
6
30
670030
1 #include<stdio.h> 2 #include<math.h> 3 int main() 4 { 5 long long n,i,j,x,y,f,q; 6 scanf("%lld",&n); 7 while(n--) 8 { 9 y=1; 10 scanf("%lld",&x); 11 for(i=2;i<=x;i++) 12 { 13 f=1; 14 q=(int)sqrt((float)i); 15 for(j=2;j<=q;j++) 16 if(i%j==0) 17 f=0; 18 if(f==1) 19 y*=i; 20 y=y%1000000; 21 } 22 23 printf("%lld\n",y); 24 } 25 return 0; 26 }