C#趣味程序---理財高手

时间:2023-03-09 17:14:21
C#趣味程序---理財高手

问题:如果银行存款分五种

利率: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();
}
}
}
C#趣味程序---理財高手