プロが教える店舗&オフィスのセキュリティ対策術

c++で、

n p_k
Σ Σ p_l
k=1 l=1

これにnを代入した計算をさせることってできますか?
p_nはn番目の素数です

A 回答 (1件)

> p_nはn番目の素数です



n番目の素数を取得する関数とかってのは標準で用意されていないので、その辺実装する必要があります。

例えば、
n番目の素数を求めるプログラム - たこにありがちなこと。
http://d.hatena.ne.jp/tako222/20091221/1261386118
n番目の素数を求めるプログラム 続き - たこにありがちなこと。
http://d.hatena.ne.jp/tako222/20100307/1267961502
のサイトを参考にPrimeクラスを実装したとして、手元のVC++2010Expressだと、

int gPrime(int n)
{
class Prime p(n);
return p.getPrime();
}

int func(int n)
{
int k, l;
int sum=0;

for(k=1; k<=n; k++)
{
for(l=1; l<=gPrime(n); l++)
{
sum += gPrime(l);
}
}
return sum;
}

int _tmain(int argc, _TCHAR* argv[])
{
int n;

for(n=1; n<=10; n++)
{
cout << "n=" << n << ", func(n)=" << func(n) << endl;
}

return 0;
}

とか。
素直にforのループを2重に書いて、Σの合計計算するだけです。
素数計算する方がよっぽど面倒かも。
上の例のクラスも、同じn番目の素数を繰り返し取得するような作りでないので、この使い方だと無駄が多いですし。
    • good
    • 1
この回答へのお礼

確かに。ありがとうございます!

お礼日時:2017/11/03 08:55

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!