來源:牛客網
現在我們有1塊錢,我們想知道,通過合理安排存款方式,n年以後這1塊錢最多會變成幾塊錢。
假設在這n年裏利率不變,且n年以後這筆錢不能處於2年期、3年期、5年期存款年限的中間(否則會變成活期)。
輸入描述:
第一行五個數n, r1, r2, r3, r5分別表示年數,1年期年利率,2年期年利率,3年期年利率和5年期年利率。 假設我們有1塊錢,i年期存款到期後這1塊錢會變成(1 + ri)i塊錢。 1 <= n <= 20 且 n爲整數, 0.04 <= r1 <= r2 <= r3 <= r5 <= 0.05;
輸出描述:
一行一個數表示答案。保留5位小數(絕對誤差或相對誤差在1e-5之內的結果均判斷爲通過)。
#include<iostream> #include<algorithm> #include<math.h> int n; double a[4]; double answer; int main() { scanf("%d", &n); for (int i = 0; i<4; i++) { scanf("%lf", &a[i]); } answer = 0; for (int x = 0; x<=n; x++) { for (int y = 0; y<=n; y+=2) { for (int z = 0; z<=n; z+=3) { for (int t = 0; t <=n; t+=5) { if (x + y + z + t == n) { double b = pow((1 + a[0]), x)*pow((1 + a[1]), y)*pow((1 + a[2]), z)*pow((1 + a[3]), t); if (b > answer) answer = b; } } } } } printf("%.5f", answer); return 0; }
xinlei