题目链接:
解题思路:
- 此类题关键的一点是要想到使用 for 循环
- 年利率 = 月利率 * 12
- 其中 (y+1000)/(1+n)要在 for 循环中执行 5 次
- 题目中的方程:
【x * (1+n) - 1000】* (1+n) - 1000 ........ = 0
所以在 for 循环执行体中 y 的值要随着每一次的循环而更新
参考代码:
#include<bits/stdc++.h>
using namespace std;
int main( )
{
float sum = 0;//方程的右值,即 y
float every_year = 0.00553 * 12;//求出年利率
for(int i = 1;i <= 5;i++)
{
sum = (sum + 1000.0)/(1+every_year);
}
printf("%.2f",sum);
return 0;
}
变式题目:
题目链接:
解题思路:
注意此题是到了第 10 天只剩下一个,
而不是第 10 天过完剩下一个
所以应该循环 9 次,而不是循环 10 次
参考代码:
#include<bits/stdc++.h>
using namespace std;
int main( )
{
int y = 1;//题目方程的右值
int x = 0;
for(int i = 1;i <= 10-1;i++)
{
x = (y+1)*2;
y = x; //更新 y 的值
}
cout << x << endl;
return 0;
}