做一个“凑钱”的小程序

凑钱:设计一个windows程序,输入正整数m,它代表一个人民币钱数(元数)。求取这样一个方案,使用最少张数的人民币纸币,凑成上述的钱数m,并输出求取结果。注意,现在共有7种元以上面值的人民币纸币,分别为:100,50,20,10,5,2,1。
 1 //输入一个正整数即可得到凑钱所有面值,返回ArrayList形式数据,调用如:getjia(100)
 2 //那么得到50,50,把数据从arraylist循环出来即可
 3  public ArrayList getjia(int num)
 4         {
 5             ArrayList ss = new ArrayList();
 6             int[] canus = { 100, 50, 20, 10, 5, 2, 1 };
 7             for (int i = 0; i < canus.Length; i++)
 8             {
 9                 if (num - canus[i] > 0)
10                 {
11                     int newnum = num - canus[i];
12                     ss.Add(canus[i]);
13                     if (newnum != 100 && newnum != 50 && newnum != 20 && newnum != 10 && newnum != 5 && newnum != 2 && newnum != 1)
14                     {
15                         ArrayList ss2 = new ArrayList();
16                         ss2 = getjia(newnum);
17                         for (int i2 = 0; i2 < ss2.Count; i2++)
18                         {
19                             ss.Add(ss2[i2]);
20  
21                         }
22                     }
23                     else
24                     {
25                         ss.Add(newnum);
26                     }
27                     break;
28                 }
29             }
30             return ss;
31         }

 

转载于:https://www.cnblogs.com/tuzhiyuan/p/4536235.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值