nyoj 28-大数次乗(大数テンプレート)
6313 ワード
28-大数乗算
メモリ制限:64 MB時間制限:3000 ms Special Judge:No accepted:19 submit:39
タイトルの説明:
私たちはすべてどのように1つの数の階乗を計算するかを知っていますが、もしこの数が大きいならば、私たちはどのようにそれを計算して出力しますか?
説明を入力:
出力の説明:
サンプル入力:
コピー
サンプル出力:
ヒント:
ヒントはないよ
分析:
大数乗算テンプレートは次のとおりです.
C/C++コード実装(AC):
メモリ制限:64 MB時間制限:3000 ms Special Judge:No accepted:19 submit:39
タイトルの説明:
私たちはすべてどのように1つの数の階乗を計算するかを知っていますが、もしこの数が大きいならば、私たちはどのようにそれを計算して出力しますか?
説明を入力:
m(0
出力の説明:
m ,
サンプル入力:
コピー
50
サンプル出力:
30414093201713378043612608166064768844377641568960512000000000000
ヒント:
ヒントはないよ
分析:
大数乗算テンプレートは次のとおりです.
1 for(int i = 1; i <= m; ++ i) // A
2 {
3 int b = 0; //
4 for(int j = 1; j <= len; ++ j)
5 {
6 int t = b + i*A[j];
7 A[j] = t % 10;
8 b = t / 10;
9 if(b > 0 && j == len) len ++;
10 }
11 }
C/C++コード実装(AC):
1 #include
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include