试题编号: 202212-1
试题名称: 现值计算
时间限制: 1.0s
内存限制: 512.0MB
大体意思为:每年都会通货膨胀,第一年不膨胀,把后续所有年的利润换算成第一年的利润(利润除以膨胀率(1+i)),所有利润相加。
#include <bits/stdc++.h> // 包含所有标准库头文件
#define N 1000 // 定义常量 N 为 1000
using namespace std;
int main() {
int n; // 年数
double I[N], ans = 0; // I 数组存储利率的幂次,ans 存储总收益
I[0] = 1; // I[0] 初始化为 1
cin >> n >> I[1]; // 读取年数 n 和年利率 I[1]
I[1] += 1; // 将年利率加 1,方便后续计算
for (int i = 0; i < n + 1; ++i) {
double t; // t 存储每年的收入或支出
cin >> t; // 读取每年的收入或支出
I[i + 2] = I[i + 1] * I[1]; // 计算 I[i+2] 为 I[i+1] 乘以 (1 + 年利率)
ans += t / I[i]; // 将每年的收入或支出折现到当前价值并累加到 ans
}
cout << ans << endl; // 输出总收益
return 0; // 返回 0,表示程序正常结束
}