小明求素数积
时间限制:
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
-
答案:
-
#include<stdio.h>
#include<math.h>
int sushu(int n)
{
int i;
for(i=2; i<=sqrt(n); i++)
{
if(n%i==0)
return 0;
}
return 1;
}
int main()
{
int t,n,i;
scanf("%d",&t);
while(t--)
{
int sum=1;
scanf("%d",&n);
for(i=2; i<=n; i++)
{
if(sushu(i)==1)
{
sum=sum*i%1000000;
}
}
printf("%d\n",sum);
}
}
-
第一行输入一个正整数T(T<=20)表示有T组数据