質問

C ++のパスカル三角形の合計1500行を計算しようとしています。

私は全部で6つ以上の異なるコードスニペットを試してみました。

彼らの何人かは10行前にクラッシュしたもの、いくつかはクレイジーなどを消しました。

Pascal Triangleの1500行目の数の合計をどのように計算することができますか。

各行を繰り返さずに行を見つけるには、プログラムがクラッシュしているため、行を見つける式があると思います。

役に立ちましたか?

解決

任意の行の数の合計は、2 ^ nnに等しい(0から始まる)。それであなたの場合は、それは1 << 1499だけであろう。

Enter Image説明

あなたの答えは次のものです:

17537331055217019373813793980140428996762007940165414412037899012395481925281661101828540443292484630826575203397718758699647274470734979877085519459002350423944978242664548632243401355791731473268341092170069314725677729132473171262691809694657480322332526275875721167754624586680565177898054854942790337156977105108828923716313380366502376637658596066837351781686391648520996613526331666834254976000087526677764529440217091269193357761841856604274688

他のヒント

Google検索はWikiから明らかにされています:

Pascalの三角形のN番目の行のエントリの合計はNTHです 2の力。

したがって、すべての行を繰り返すのではなく2 ^ 1500を計算する必要があります。

パスカル三角形の行和は、nが行番号(ゼロベース)である1<<nです。あなたの最終値は1<<1499です。

だからプログラムは1500ビットの整数を表示するためにNEADSを表示します。これは主な問題になるはずです。バイナリ出力を作成するには、を使用してください。

printf("1"); 
for (int i=1;i<1500;i++) printf("0");
printf("\n");
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top