1.问题
假设银行整存整取存款不同期限的月息利率为:
C语言趣味编程100例
0.63%0.66%0.69%0.75%0.84%
期限为1年期限为2年期限为3年期限为5年期限为8年
现在已知某人手上有2000元,要求通过计算选择出一种存钱方案,使得这笔钱存入银行20年后获得的利息最多,假定银行对超出存款期限的那部分时间不付利息。
2.代码
#include <stdio.h>
#include <math.h>
int main()
{
double money = 0,result;
int x1,x2,x3,x5,x8,y1,y2,y3,y5,y8;
for(x8=0;x8<=2;x8++)
{
for(x5=0;x5<=(20-8*x8)/5;x5++)
{
for(x3=0;x3<=(20-8*x8-5*x5)/3;x3++)
{
for(x2=0;x2<=((20-8*x8-5*x5-3*x3)/2);x2++)
{
x1=(20-8*x8-5*x5-3*x3-2*x2);
result = 2000*pow((1+0.0063),x1)
*pow((1+0.0066),x2)
*pow((1+0.0069),x3)
*pow((1+0.0075),x5)
*pow((1+0.0084),x8);
if(result > money)
{
money = result;
y1 = x1;
y2 = x2;
y3 = x3;
y5 = x5;
y8 = x8;
}
}
}
}
}
printf("y1 = %d\ty2 = %d\ty3 = %d\ty5 = %d\ty8 = %d\t%f\n",y1,y2,y3,y5,y8,money);
return 0;
}