#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
}
Run Code Online (Sandbox Code Playgroud)
在1000次迭代之后,我想result等于multiplier*result(result==25).如何找到修改乘数(in fixed_multiplier)以获得所需结果所需的内容?
您的for循环由此数学方程式汇总:
result * fixed_multiplier ^ 1000 = result * multiplier
Run Code Online (Sandbox Code Playgroud)
你可以解决这个等式来找到你的答案.
您可以使用以下pow函数在C中获得相同的结果:
fixed_multiplier = pow(multiplier, 0.001);
Run Code Online (Sandbox Code Playgroud)