#include <iostream>
using namespace std;
int main() {
float result = 50.0f;
float multiplier = 0.5f;
float fixed_multiplier = 1.0f - multiplier * 0.001f;
for (int i = 0; i < 1000; ++i) {
result *= fixed_multiplier;
}
cout << result << endl; // 30.322 -- want approximately 25
}
1000回の反復の後に、をmultiplier*result
(result==25
)に等しくします。希望の結果を得るために、乗数を変更する必要があるもの(fixed_multiplier
)を見つけるにはどうすればよいですか?ループに必要な乗数を見つける方法は?
result_out = result * fixed_multiplier^1000
"の力に" ^
意味:
、 '結果は* = fixed_multiplier'が1000回の反復の後に私30.322を与えます。これは間違っています、私はそれを約25にしたいと思います。あるいは、1000回の反復の前に、 'result * multiplier == 25'としましょう。 – joshj