C#基础练习,解决百钱百鸡问题

百钱买百鸡

         * 编写程序,解决百钱百鸡问题。
         * 某人有100元钱,要买100只鸡。公鸡5元一只,母鸡三元一只,
         * 小鸡一元三只。问可买到公鸡,母鸡,小鸡各多少只。
         * 
         * 需求分析:简单的解方程
         *           1.定义三个变量分别表示三种鸡的数量
         *           2.列方程组求解:
         *              x+y+z = 100;
         *              5x+3y+z = 100;
         *           3.两个方程式求三个未知数,理论上有无穷解,
         *           但我们限定了整数,且小鸡数量必须是3的倍数。
         *           那么解的数量应该不多,穷举即可

以下是C#代码

//定义三个变量,分别表示公鸡,母鸡,小鸡
            int cock, hen, chick;

            //定义计数器统计方案数
            int count02 = 0;

            //循环列举可能的公鸡数量
            for (cock = 0; cock < 20; cock++)
            {
                for (hen = 0; hen <= 33; hen++)
                {
                    //此时,我们假设了公鸡和母鸡的数量,小鸡的数量就确定了
                    chick = 100 - cock - hen;

                    //判断小鸡数量是否符合规则
                    if (chick % 3 != 0)
                    {
                        continue;
                    }

                    //然后我们判断是否符合条件
                    if (cock + hen + chick == 100 && 5 * cock + 3 * hen + chick / 3 == 100)
                    {
                        count02++;
                        Console.WriteLine("第{0}种情况:公鸡{1}只,母鸡{2}只,小鸡{3}只。",count02,cock,hen,chick);
                    }
                }
            }
            //打印方案总数
            Console.WriteLine("总共有{0}种情况。",count02);
            

好,这个练习就到这里。有疑问的欢迎私信。

纯手打。
点个关注呗!

发布了25 篇原创文章 · 获赞 4 · 访问量 1736

猜你喜欢

转载自blog.csdn.net/maybe_ice/article/details/104329076