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