07-06
10

1元、2元、5元组合成100元,最多有多少种组合

      这是一道JAVA面试题,要求先写出算法,再编写程序。
      解题如下:
      算法:1a+2b+5c=100
      利用循环枚举来做这个程序:

public class MoneyTest {
    static long flag;
    public static void main(String[] args) {
        MoneyTest moneytest = new MoneyTest();

        for (int i = 0; i < 20; i++) { //5块钱
            for (int j = 0; j < (100 - 5 * i) / 2; j++) { //2块钱,100/2-5块钱
                for (int k = 0; k < 100 - 5 * i - 2 * j; k++) { //1块钱,100-5块钱-2块钱
                    flag++;
                }
            }
        }
        System.out.println("组合可能性" + flag);
    }
}


       测试结果:
      
引用内容 引用内容
组合可能性18455


文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: 面试题
相关日志:
评论: 0 | 引用: 0 | 查看次数: 914
发表评论
昵 称:
密 码: 游客发言不需要密码.
内 容:
验证码: 验证码
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭