NYOJ 225 小明求素数积
1 #include<stdio.h> 2 #include<math.h> 3 #include<stdlib.h> 4 int is_prime(int x) 5 { 6 int i; 7 if(x==1) return 0; 8 for(i=2;i<=sqrt(x);i++) 9 if(x%i==0) return 0; 10 return 1; 11 } 12 int main() 13 { 14 int t,n,i,sum; 15 scanf("%d",&t); 16 while(t--) 17 { 18 scanf("%d",&n); 19 for(i=2,sum=1;i<=n;i++) 20 if(is_prime(i)) 21 { 22 sum*=i; 23 sum%=1000000; 24 } 25 printf("%d\n",sum);//如果在这sum%1000000,即全部成完后再取余就会有益处可能,为此需要没乘一次就取余一次 26 27 } 28 system("pause"); 29 return 0; 30 } 31 32