首页 > 代码库 > C#趣味程序---理財高手

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#趣味程序---理財高手