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

来源:互联网 发布:股票k线图软件 编辑:程序博客网 时间:2024/05/01 04:03

问题:假设银行存款分五种

利率: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();        }     }}



0 0
原创粉丝点击