問題の説明
トーリーは子供の頃から数学が大好きでした。ある日、先生は2、3、5、7 ...のような数は素数と呼ばれると彼に言いました。トーリーは突然質問を考えました、最初の10、100、1000、10000 ...素数の積は何ですか?彼はその問題について先生に話しました。先生は唖然とし、しばらく答えることができませんでした。そこでTorryは、プログラミングの方法を知っているあなたに、最初のn個の素数の積を計算するように頼みました。ただし、プログラミングに携わったのはそれほど前のことではないことを考えると、Torryはこのデジタルアナログで50000の値を計算するだけで済みます。
入力形式に
は、正の整数nのみが含まれます。n<= 100000です。
出力形式
1行、つまり50000を法とする最初のn個の素数の積の値を出力します。
素数(素数)についての質問。質問最初のn個の素数の積を見つけます。
問題解決のアイデア:
n個の素数を見つけて乗算します
最初:
#include<stdio.h>
int main()
{
long n,i,j,s=1,c=0;
scanf("%ld",&n);
for (i=2;i<=100000;i++)//求出这个范围内的质数
{
for (j=2;j<=i;j++)
{
if (i%j==0)//能除尽
break;
}
if (i==j)//如果是质数,他将除到最后一次,就是本身
{
s=s*i%50000;
++c;
if (c>=n)
break;
}
}
printf("%ld",s);
return 0;
}