Проблем с решаването на задача "Dishwasher" от while loops more exercises.
Здравейте колеги, имам проблем с решаването на задачата Dishwasher.
1.Съдомиялна
Гошо работи в ресторант и отговаря за зареждането на съдомиялната накрая на деня.
Вашата задача е да напишете програма, която изчислява, дали дадено закупено количество бутилки от препарат за съдомиялна е достатъчно, за да измие определено количество съдове. Знае се, че всяка бутилка съдържа 750 мл. препарат, за 1 чиния са нужни 5 мл., а за тенджера 15 мл. Приемете, че на всяко трето зареждане със съдове, съдомиялната се пълни само с тенджери, а останалите пъти с чинии. Докато не получите команда "End" ще продължите да получавате бройка съдове, които трябва да бъдат измити.
Вход
От конзолата се четат:
- Брой бутилки от препарат, който ще бъде използван за миенето на чинии - цяло число в интервала [1…10]
На всеки следващ ред, до получаване на командата "End" или докато количеството препарат не се изчерпи, брой съдове, които трябва да бъдат измити - цяло число в интервала [1…100]
Изход
В случай, че количеството препарат е било достатъчно за измиването на съдовете:
"Detergent was enough!"
"{брой чисти чинии} dishes and {брой чисти тенджери} pots were washed."
"Leftover detergent {количество останал препарат} ml."
В случай, че количеството препарат не е било достатъчно за измиването на съдовете:
"Not enough detergent, {количество не достигнал препарат} ml. more necesary!"
Това е моето решение : https://pastebin.com/w3D9cx2Z
Judge ми дава 80/100 първите 2 теста не минават, моля помогнете да се открия грешката. Благодаря предварително.
https://pastebin.com/ibmWNVis
Преправих го, препарaтът да е по-голям или равен на 0 и judge отново не ми дава максимален брой точки.
Във втория if(if (totalMlPreparat >= 0)) трябва да е само >. В момента ако е 0, ще влиза в двете условия и ще принтира и двата изхода.И последният else е излишен.
Благодаря ти за отговора, но това не решава задачата, резултата е отново същият.
Добре, написала съм го наопаки. :)
В първия if(if (totalMlPreparat <
=0)) трябва да е само <. Във втория(if (totalMlPreparat >= 0)) е >=.Или: https://pastebin.com/VkgvKLJ0
Ето Ти едно готово решение: https://pastebin.com/vpi1dRJT
Дори няма сисъл от if-а извън цикъла. Ако totalMlPreparat < 0 ще се принтира каквото трябва и програмата ще се прекъсне.
https://pastebin.com/rc2Mcv3X
Благодаря ви. @knoteva сега се получи. :)
заповядай https://pastebin.com/xytqQ1hN
100/100