私は友人から尋ねられました:
の場合2^10 = 1024
、1024 を取り、その数字を分割して要約できます。
1+0+2+4 = 7.
かんたんだよ。
ただし、入力が2^30000
(入力が実際には長い文字列である"1000..."
) 場合、この値を保持できる .net 型はありません。
したがって、その桁(10進数の桁)を合計するためのトリックが必要です....
編集:
関連するトリック (見つけるため10^20 - 16
)
100 = 10^2 (ゼロが 1 つと 2 つ)
10^20 = (1 と 20 個のゼロ)
したがって:
10^20 - 16 = 18 ナイン、8 と 4。
18*9+8+4 = 174
しかし、私はこの解決策を私の問題に変換することに成功していません.(私はかなり試しました).
* .netライブラリの文字列関数、数学関数を使用できるため、この質問に.netのタグを付けています。*
質問
の結果である多くの数を合計できるトリックはありますx^n
か?
ここでのトリックは何ですか?
編集#2:.net2タグ(bigintegerが利用できない場所)を追加しました-bigintegerなしでどうやってそれを行うことができるのだろうか.(私は隠されたトリックを探しています)