黑马程序员技术交流社区

标题: 检验下大家基础学的怎么样? [打印本页]

作者: dwgeneral    时间: 2014-5-5 15:14
标题: 检验下大家基础学的怎么样?
把一元钞票换成一分、二分、五分硬币(每种至少一枚),有多少种焕法?------大家可以做做,看想法和我的一样不一样,不许百度啊~~~
作者: Mekor    时间: 2014-5-5 19:53
本帖最后由 Mekor 于 2014-5-5 19:56 编辑

for循环就可以把???
一元=100*1分,一元=50*2分,一元=20*5分;
然后三个for循环就可以解决问题,这个好像是我们上课时留的作业。。。。当然不是C#是C++。。。。

作者: dwgeneral    时间: 2014-5-5 21:00
Mekor 发表于 2014-5-5 19:53
for循环就可以把???
一元=100*1分,一元=50*2分,一元=20*5分;
然后三个for循环就可以解决问题,这个好 ...

嗯,说的基本对了,分享下我理解
  1. class Program
  2.     {
  3.         //把一元硬币换成一分、二分、五分硬币(每种至少一枚),有多少种换法?
  4.         static void Main(string[] args)
  5.         {
  6.             //由于每种硬币至少一枚,则一分最多只能有100-5-2=93枚,二分最多有47枚,五分最多有19枚
  7.             int Onecent, Doublecent, Fivecent, count = 0;
  8.             for (Onecent = 1; Onecent <= 93; Onecent++)
  9.             {
  10.                 for (Doublecent = 1; Doublecent <= 47; Doublecent++)
  11.                 {
  12.                     for (Fivecent = 1; Fivecent <= 19; Fivecent++)
  13.                     {
  14.                         if (Onecent + 2 * Doublecent + 5 * Fivecent == 100)
  15.                         {
  16.                             count++;
  17.                         }
  18.                     }
  19.                 }
  20.             }
  21.             Console.WriteLine("一共有{0}种换法",count);
  22.             Console.ReadKey();
  23.         }
  24.     }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2