题目描述 小凯手中有两种面值的金币,两种面值均为正整数且彼此互素。每种金币小凯都有无数个。在不找零的情况下,仅凭这两种金币,有些物品他是无法准确支付的。现在小凯想知道在无法准确支付的物品中,最贵的价值是多少金币?注意:输入数据保证存在小凯无法准确支付的商品。
输入描述:
输入数据仅一行,包含两个正整数 a 和 b,它们之间用一个空格隔开,表示小凯手中金币的面值。
输出描述:
输出文件仅一行,一个正整数 N,表示不找零的情况下,小凯用手中的金币不能准确支付的最贵的物品的价值。
示例1
说明
小凯手中有面值为3和7的金币无数个,在不找零的前提下无法准确支付价值为 1、2、4、5、8、11的物品,其中最贵的物品价值为11。
比11贵的物品都能买到,比如:
12 = 3 x 4 + 7 x 0
13 = 3 x 2 + 7 x1
14 = 3 x 0 + 7 x 2
15 = 3 x 5 + 7 x 0
如下解答可以吗?
function aa(a,b){
var maxNum = a*b,arr=[],arr1 = [];
for(var i = 0;i<maxNum;i++){
if(i%a!=0&&i%b!=0){
arr.push(i)
}
}
arr.forEach((item)=>{
var a1 = Math.ceil(item/a);
var b1 = Math.ceil(item/b);
for(var k=0;k<a1;k++){
for(var j=0;j<b1;j++){
if(a*k+j*b ==item)[
arr1.push(item)
]
}
}
});
return arr.filter((item)=>{
var repeat = false
arr1.forEach((item1)=>{
if(item1==item){
repeat = true
}
});
return !repeat
}).sort(function(c,d){return d-c})[0]
};
全部评论
(1) 回帖