items.filter(item => item.groupId === selectedGroup && !selected.some(e => e.id === item.id))
var p72 = {count: 72};
var p84 = {count: 84};
var p90 = {count: 90};
var items = [p72, p84, p90];
var count = 1043;
var minVal = Infinity;
var solutions = [];
var val;
for (var i = 0, item = items[i]; i < items.length; item = items[++i]) item.max = Math.ceil(count / item.count);
for (p72.i = 0; p72.i <= p72.max; p72.i += 1)
for (p84.i = 0; p84.i <= p84.max; p84.i += 1)
for (p90.i = 0; p90.i <= p90.max; p90.i += 1) {
val = p90.i * p90.count + p84.i * p84.count + p72.i * p72.count;
if (val < count) continue;
if (val < minVal) {
solutions = [];
solutions.count = val;
minVal = val;
}
if (val === minVal) solutions.push([p72.i, p84.i, p90.i]);
}
console.log(solutions); // 1044 9 вариатнов
function Player(name) {
this.playerDeck = [];
this.name = name;
this.takeCard = function() {
var shiftedCard = myDeck.shift();
if (shiftedCard) {
this.playerDeck.push(shiftedCard);
return shiftedCard;
}
};
}
...
var takenCard, turn = 0;
while (takenCard = playersArr[turn % playersArr.length].takeCard()) {
if (takenCard.value > 10) {
console.log(takenCard.name, takenCard.suit, 'take one more');
continue;
} else {
console.log(takenCard.name, takenCard.suit, 'give turn to the next player');
turn++;
}
}
Если число в интервале 300-1000, то коэффициент = 1;
Если число в интервале 1001-2000, то коэффициент = 2;
Если число в интервале 2001-3000, то коэффициент = 3;
ввели 2800
1000+4000+2400
у каких-то интервалов коэффициент может быть даже нулевым
function calc(n, ranges, factors) {
let res = 0;
let i = 0;
while (n > ranges[i]) res += (ranges[i] - (ranges[i - 1]||0)) * factors[i++];
return res > 0 ? res + (n - ranges[i - 1]) * (factors[i]||factors[i - 1]) : n * factors[i];
}
calc(2800, [1000, 2000, 3000], [1, 2, 3]); // 5400
$ node -e "require('dns').reverse('178.66.32.125', (err, hosts)=>console.log(hosts))"
void function(i) {console.log(i)}(10);