您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> Java >> 今天的面试题,求解?

今天的面试题,求解?

来源:网络整理     时间:2016/8/17 12:25:36     关键词:

关于网友提出的“ 今天的面试题,求解?”问题疑问,本网通过在网上对“ 今天的面试题,求解?”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 今天的面试题,求解?
描述:

1块钱,提供五角,二角,一角,五分,二分,一分,问有多少种组合组成1块钱,
用java编程实现


解决方案1:

package com.fansy.csdn;
public class Game {
    
    
    public int getTimes() {
        int count = 0;
        int maxCount = 100;
        for(int n1=0;n1<100/50; n1++){
            for(int n2=0;n2<100/20; n2++){
                for(int n3=0;n3<100/10; n3++){
                    for(int n4=0;n4<100/5; n4++){
                        for(int n5=0;n5<100/2; n5++){
                            for(int n6=0;n6<100/1; n6++){
                                if(50*n1+20*n2+10*n3+5*n4+2*n5+1*n6==100){
                                    count++;
                                    System.out.println("5jiao: "+n1+" 2jiao: "+n2+" 1jiao: "+n3+" 5feng: "+n4+" 2feng: "+n5+" 1feng: "+n6);
                                }
                            }
                        }
                    }
                }
            }
        }
        return count;
    }
    
    
    public static void main(String args[]) {
        System.out.println(new Integer(new Game().getTimes()).toString());
    }
}

解决方案2:

假设五角,二角,一角,五分,二分,一分的个数分别为 n1, n2, n3, n4, n5, n6.
做一个六重循环.
int count = 0;
int maxCount = 100;
for(n1=0;n1<100/50; n1++){
  for(n2=0;n2<100/20; n2++){
    for(n3=0;n3<100/10; n3++){
      for(n4=0;n4<100/5; n4++){
        for(n4=0;n4<100/2; n4++){
          for(n4=0;n4<100/1; n4++){
            if(50*n1+20*n2+10*n3+5*n4+2*n5+1*n6==100){
              count++;
            }
          }
        }
      }
    }
  }
}

解决方案3:

组合里面,钱可以重复么?或者说,硬币有个数限制么?
想到一个比较笨的方法:
最少2个5毛,最多100个1分,
然后
for(i=2;i<=100,i++)     //个数循环
{
   for(j =i;j>=0;j--)   //组合选择
   {
      组合选择函数
      如果组合里面加和=100 then 统计数+1
   }
}

解决方案4:

什么公司啊,这么变态


以上介绍了“ 今天的面试题,求解?”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/3339665.html

相关图片

相关文章