欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

钞票的面值兑换

程序员文章站 2022-03-19 10:48:01
题目:编一个程序,把一张面值100元的钞票换成5元,1元和5角面值的钞票,要求100元换以上的零钱100张,且要求每种不少于一张。 请问,有哪几种换法?把每种算法打印出来。 我的思路: 题目中可看出要满足3个条件:1.总面值100元;2.张数100;3.每种面值每种不少于一张。可利用3重循环,找出满 ......


题目:编一个程序,把一张面值100元的钞票换成5元,1元和5角面值的钞票,要求100元换以上的零钱100张,且要求每种不少于一张。 请问,有哪几种换法?把每种算法打印出来。

我的思路:

题目中可看出要满足3个条件:1.总面值100元;2.张数100;3.每种面值每种不少于一张。可利用3重循环,找出满足条件的数。具体实现代码如下:

            int n = 0;//计数

            //i、j、z初始值为1,满足条件每种面值每种不少于一张
            for (int i = 1; i <= 20; i++)
            {
                for (int j = 1; j <= 100; j++)
                {
                    for (int z = 0; z < 200; z++)
                    {
                        //满足总面值100元、张数100条件
                        if ((5 * i + j + 0.5 * z) == 100 && i + j + z == 100)
                        {
                            console.writeline("5元{0}张,1元{1}张,5角{2}张",i,j,z);
                            n++;
                        }
                    }
                }
            }
            console.writeline("总共{0}种换法",n);

 结果如下:

钞票的面值兑换