您的位置:首页 > 其它

nyoj 225 小明求素数积

2015-10-30 18:20 218 查看

小明求素数积

描述
小明最近遇到了一个素数题,是给你一个正整数N(2=<N<=1000)让你求出2~N的所有素数乘积的后六位。

输入第一行输入一个正整数T(T<=20)表示有T组数据
每组数据占一行,输入一个正整数N(2=<N<=1000)输出每组数据输出占一行,输出2~N素数乘积的后六位样例输入
3
3
6
43

样例输出
6
30
670030


#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std;

const int mod=1000000;

int p[1005];
int pro[1005];

int main()
{
int T;
for(int i=2;i*i<1005;i++)
for(int j=i+i;j<1005;j+=i)
p[j]=1;
memset(pro,1,sizeof(pro));
long long tmp=1;;
for(int i=2;i<=1000;i++)
{
if(!p[i])
tmp=((tmp%mod)*i)%mod;
pro[i]=(int)tmp;
}
scanf("%d",&T);
while(T--)
{
int n;
scanf("%d",&n);
printf("%d\n",pro
);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: