80/100 на Bitcoin "Mining" (JavaScript)
Не мога да открия грешка в кода си и получавам 80/100 в judge.
Не мога да открия грешка в кода си и получавам 80/100 в judge.
Ето с малка преработка:
function bitcoinMining(minedGold) {
let boughtBitcoin = 0;
let days = 0;
let money = 0;
let firstDay = 0;
for (let i = 0; i < minedGold.length; i++) {
days++;
let gold = minedGold[i];
if (days % 3 === 0) {
money += (gold - gold * 0.3) * 67.51;
} else {
money += gold * 67.51;
}
// Този ред по-долу го слагаш в иф условието горе!
// money += Number((gold * 67.51).toFixed(2));
while (money >= 11949.16) {
if (firstDay === 0) {
firstDay = days;
}
money -= 11949.16;
boughtBitcoin++;
}
}
console.log(`Bought bitcoins: ${boughtBitcoin}`);
if (boughtBitcoin >= 1) {
console.log(`Day of the first purchased bitcoin: ${firstDay}`);
}
console.log(`Left money: ${money.toFixed(2)} lv.`);
}
Закръглянето по условие се прави само при извеждането на крайния резултат.
Променете ред №12 от:
money += Number((gold * 67.51).toFixed(2));
на:
money += gold * 67.51;
Определено трябва да е накрая.
Да това оправя нещата. Най-вероятно закръглянето обърква сметките.
Yes! 8 ball pool
Благодаря, работи, но може ли да обясниш защо работи с твоята преработка ?
Ами нали в условието е казано че някой краде всеки 3-ти ден, тоест всеки 3-ти ден махаме 30% а в останалите дни не махаме. Затова в else калкулираме това което е било извлечено за деня. Ако е 3-ти ден минус 30% ако не не махаме.