怎样存钱利最大
假设银行整存整取存款不同期限的月息利率分别为:
0.63% 期限=1年
0.66% 期限=2年
0.69% 期限=3年
0.75% 期限=5年
0.84% 期限=8年
利息=本金*月息利率*12*存款年限。
现在某人手中有2000元钱,请通过计算选择一种存钱方案,使得钱存入银行
20年后得到的利息最多
(假定银行对超过存款期限的那一部分时 间不付利息)
假设银行整存整取存款不同期限的月息利率分别为:
0.63% 期限=1年
0.66% 期限=2年
0.69% 期限=3年
0.75% 期限=5年
0.84% 期限=8年
利息=本金*月息利率*12*存款年限。
现在某人手中有2000元钱,请通过计算选择一种存钱方案,使得钱存入银行
20年后得到的利息最多
(假定银行对超过存款期限的那一部分时 间不付利息)
思路: 利息 =本金*存款年限*月息利率*12。
利息 =2000*2*0.0066 *12
一共收入 =2000+2000*2*0.0066 *12
=2000*(1+2*0.0066 *12)
假设 :(部分)
x2=2
一共收入=2000*(1+2*0.0066 *12) 当 x2==1
把这个当做本金 *( 1+2*0.0066 *12) 当 x2 ==2 ,终止
所以
一共收入=2000 *(1+2*0.0066 *12) * (1+2*0.0066 *12)
=2000 *pow((1+2*0.0066*12),x2)
#include <stdio.h>
# include <math.h>
#include <stdlib.h>
int main(int argc, char *argv[]) {
int x1,x2,x3,x5,x8;
double sum=0.0,max=0.0;
int y1,y2,y3,y5,y8;
for(x8=0;x8<=2;x8++)
{
for(x5=0;x5<=(20-x8*8)/5;x5++)
{
for(x3=0;x3<=(20-(x8*8+x5*5))/3;x3++)
{
for(x2=0;x2<=(20-(x8*8+x5*5+x3*3))/2;x2++)
{
x1=20-x8*8-x5*5-x3*3-x2*2;
sum=2000*pow((1+0.0063*12),x1)
*pow((1+2*0.0066*12),x2)
*pow((1+3*0.0069*12),x3)
*pow((1+5*0.0075*12),x5)
*pow((1+8*0.0084*12),x8);
if(sum>max)
{
max=sum;
y1=x1;
y2=x2;
y3=x3;
y5=x5;
y8=x8;
}
}
}
}
}
printf("最大值是%.2f\n",max); // 注意double -->%f 其他格式输出错误
printf("存%d个一年\n",y1);
printf("存%d个二年\n",y2);
printf("存%d个三年\n",y3);
printf("存%d个五年\n",y5);
printf("存%d个八年\n",y8);
return 0;
}