-1

C++ の問題を解決する必要があります。この問題では、10^n として形成された数値のモジュラスを計算する必要があります。しかし、問題は n が浮動小数点数であるため、10^n を pow(10.0, n) として計算すると、オーバーフローする可能性があることです。だから私は、オーバーフローの問題なしに 10^n mod m を計算できるソリューションを探しています。私は通常、非常に簡単な Python を使用していますが、C++ で解決する方法がわかりません。

4

1 に答える 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 に答える