Къде ми е грешката в тази задача и защо judge ми дава 0 точки?
Задача 1. Коледна подготовка Коледа наближава, а Дядо Коледа още не е готов с подаръците. Той трябва да поръча материали, с които джуджетата да изработят коледните подаръци. Всяка Коледа в магазина, в който Дядо Коледа пазарува има намаление, което представлява някакъв процент от цената на материалите (материалите са опаковъчна хартия във вид на ролки, плат също във вид на ролки и лепило в литри).От конзолата се въвеждат количеството ролки хартия, ролки плат, лепило в литри и намаление в проценти. Колко пари ще са необходими на дядо Коледа, за да плати сметката си, ако цените на материалите в магазина са следните: • Опаковъчна хартия - 5.80 лв. за ролка • Плат - 7.20 лв. за ролка • Лепило - 1.20 лв. за литър Вход: От конзолата се четат 4 числа: • Първи ред – брой ролки опаковъчна хартия - цяло число в интервала [0...100] • Втори ред – брой ролки плат - цяло число в интервала [0...100] • Трети ред – литри лепило - реално число в интервала [0.00…50.00] • Четвърти ред – процент намаление - цяло число в интервала [0...100] Изход: Да се отпечата на конзолата реално число – колко пари ще са нужни на Дядо Коледа, за да си плати сметката. Резултатът да се форматира до третия знак след десетичния разделител. (1.2457 -> 1.246). Примерен вход и изход: Вход Изход Обяснения 2 3 2.5 25 27.150 Цена на ролките хартия => 2 * 5.80 = 11.60 Цена на ролките плат => 3 * 7.20 = 21.60 Цена на лепилото => 2.5 * 1.20 = 3.00 Цена за всички материали => 11.60 + 21.60 + 3.00 = 36.20 Цена с намаление => 36.20 – 25% = 27.150
Благодаря много за отговора.
function christmasPreparation(arg1, arg2, arg3, arg4) {
let rollsOfPaper = Number(arg1);
let rollsOfCloth = Number(arg2);
let littersOfGlue = Number(arg3);
let percent = Number(arg4);
let paperPrice = rollsOfPaper * 5.80;
let clothPrice = rollsOfCloth * 7.20;
let gluePrice = littersOfGlue * 1.20;
totalSum = paperPrice + clothPrice + gluePrice;
sum = totalSum - (percent / 100);
console.log(sum.toFixed(3));
}
christmasPreparation(2, 3, 2.5, 25);
Реших я по този начин, но пак не ми излиза верния отговор. Не знам къде бъркам този път?
Имаш грешка при изчислението на намалението. Когато искаш да намалиш общата сума, трябва да напишеш sum = totalSum - (percent / 100) * totalSum;, т.е. намираш колко са 25% от totalSum и после ги вадиш, за да намериш останалата сума. По начина, по който го беше направила, не НАМАЛЯВАШЕ с 25 %, а правеше сумата РАВНА на 25 %, което е различно.