C++ の問題を解決する必要があります。この問題では、10^n として形成された数値のモジュラスを計算する必要があります。しかし、問題は n が浮動小数点数であるため、10^n を pow(10.0, n) として計算すると、オーバーフローする可能性があることです。だから私は、オーバーフローの問題なしに 10^n mod m を計算できるソリューションを探しています。私は通常、非常に簡単な Python を使用していますが、C++ で解決する方法がわかりません。
質問する
474 次
1 に答える
-2
最初に丸め、1 より小さい数字を float 変数に格納し (元の float から丸められた変数を減算することで得られます)、次に丸められた値でモジュロを実行します。その後、フロート変数を追加します
これで問題は解決しますか?
編集(コメントを参照し、見栄えを良くするために;-))
10^7.4 = 25118864.315[...]
--> round = 25118864,
float = 0.315,
round % 6 = 2,
--> (10^7.4)%6 = 2 + 0.315 = 2.315
窓の計算があなたに与えるように
于 2013-08-10T12:34:20.993 に答える