A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© dwgeneral 中级黑马   /  2014-5-5 15:14  /  1078 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

把一元钞票换成一分、二分、五分硬币(每种至少一枚),有多少种焕法?------大家可以做做,看想法和我的一样不一样,不许百度啊~~~

评分

参与人数 1技术分 +1 收起 理由
张旭辉 + 1

查看全部评分

2 个回复

正序浏览
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.     }
复制代码

评分

参与人数 1技术分 +1 收起 理由
czwanglei + 1

查看全部评分

回复 使用道具 举报 1 0
本帖最后由 Mekor 于 2014-5-5 19:56 编辑

for循环就可以把???
一元=100*1分,一元=50*2分,一元=20*5分;
然后三个for循环就可以解决问题,这个好像是我们上课时留的作业。。。。当然不是C#是C++。。。。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马