问题:假设银行存款分五种
利率:0.63% 一年 月
利率:0.66% 二年 月
利率:0.69% 三年 月
利率:0.75% 五年 月
利率:0.84% 八年 月
现在存入900000,存期为20年,问应该怎样选择,才能是本息和最大,最大为多少?
解决方案:
using System; namespace Intresting { class Program { static void Main(string[] args) { SaveMoney(); } static void SaveMoney() { int i8, i5, i3, i2, i1 ,n1, n2, n3, n5, n8; n1 = n2 = n3 = n5 = n8 = 0; double max = 0; double term; for (i8 = 0; i8 < 3; i8++) for (i5 = 0; i5 <= (20 - 8 * i8) / 4; i5++) for (i3 = 0; i3 <= (20 - 8 * i8 - 5 * i5) / 3; i3++) for (i2 = 0; i2 <= (20 - 8 * i8 - 5 * i5 - 3 * i3) / 2; i2++) { i1 = (20 - 8 * i8 - 5 * i5 - 3 * i3 - 2 * i2); term = 900000* Math.Pow((1 + 0.0063 * 12), double.Parse(i1.ToString())) * Math.Pow((1 + 2*0.0066 * 12), double.Parse(i2.ToString())) * Math.Pow((1 + 3*0.0069 * 12), double.Parse(i3.ToString())) * Math.Pow((1 + 5*0.0075 * 12), double.Parse(i5.ToString())) * Math.Pow((1 + 8*0.0084 * 12), double.Parse(i8.ToString())); if (term > max) { max = term;n1 = i1; n2 = i2; n3 = i3; n5 = i5; n8 = i8; } } Console.WriteLine("最好的方式:"); Console.WriteLine("一年:{0}次",n1); Console.WriteLine("二年:{0}次",n2); Console.WriteLine("三年:{0}次",n3); Console.WriteLine("五年:{0}次",n5); Console.WriteLine("八年:{0}次",n8); Console.WriteLine("20年后的本息和为:{0}",max); Console.WriteLine(); } } }
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-10 22:29:08