javascript语言解决笔试题:
输入:1-1000元数额;
输出:由1、5、10、20、50、100拼成输入的面值方法总数。
此代码在题目基础上增加了显示所有可能的方法。
<script>
/* 输入1-1000元,输出由1、5、10、20、50、100拼成输入的面值方法总数————美团笔试题*/
total = prompt('请输入1-1000的金额,从而计算面值为1、5、10、20、50、100拼接的方法方法数');
count = 0;
t100 = total;
function money(){
for(var i100 = Math.floor(t100/100);i100>=0;i100--){
var t50 = t100 - i100*100;
for(var i50 = Math.floor(t50/50);i50>=0;i50--){
var t20 = t50 - i50*50;
for(var i20 = Math.floor(t20/20);i20>=0;i20--){
var t10 = t20-i20*20;
for(var i10 = Math.floor(t10/10);i10>=0;i10--){
var t5 = t10 - i10*10;
for(var i5 = Math.floor(t5/5);i5>=0;i5--){
var t1 =t5-i5*5;
count++;
console.log(i100+'个100元'+i50+'个50元'+i20+'个20元'+i10+'个10元'+i5+'个5元'+t1+'个1元');
}
}
}
}
}
alert('数额为'+total+'的拼接方法有'+count+'种');
}
</script>
<body onload='money()'></body>
运行结果:
输入:512
结果:
所有的方法(截屏)
初学者方法不够好,请大神们指点一二!