还要计算真正的利率 来输出
时间: 2024-03-21 21:43:39 浏览: 16
好的,以下是修改后的代码实现:
```c
#include <stdio.h>
int checkIfRateAvailable(double x, double y, int t, double rate) {
while (t--) {
x = x * (1 + rate) - y;
if (x < 0) return 1;
}
return 0;
}
int main() {
double x, y;
int t;
scanf("%lf%lf%d", &x, &y, &t);
double left = 0, right = 1;
double mid;
while (right - left > 1e-6) {
mid = (left + right) / 2;
if (checkIfRateAvailable(x, y, t, mid)) {
right = mid;
} else {
left = mid;
}
}
double rate = mid;
double true_rate = rate * 365.0 / t;
printf("%.1lf%% %.1lf%%", rate * 100, true_rate * 100);
return 0;
}
```
在代码中,我们首先按照之前的方式计算出最大利率 R_max,并将其保存在变量 mid 中。然后,根据题目要求,我们需要计算出真正的利率,并将其输出。根据公式,真正的利率等于最大利率 R_max 乘以 365 再除以还款周期 t。因此,我们将最大利率 mid 乘以 365 再除以 t,得到真正的利率 true_rate。最后,将最大利率和真正的利率都输出并以百分数的形式显示即可。