Софтуерно Инженерство
Loading...
ivanmitkoff avatar ivanmitkoff 2 Точки

1. Съдомиялна (Dishwasher) - While Loops - More Exercises

Здравейте! smiley

Опитвам се да реша тази задача, но Judge ми дава 60/100 ((Runtime errors). При дебъгване открих, че цикълът не спира при изчерпване на детергента, а уж условията за спиране на цикъла са валидни и съм сложил break. Къде бъркам?

Ето го и кода ми.

Благодаря предварително! smiley

 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!"

Примерен вход и изход

Вход

Изход

Обяснения

2

53

65

55

End

Detergent was enough!

118 dishes and 55 pots were washed.

Leftover detergent 85 ml.

Количество препарат = 2 * 750 = 1500 мл.

53 чинии са заредени => 53 * 5 = 265 мл.  1500 265 = 1235 мл. (остатък)

65 чинии => 65 * 5 = 325 мл. 1235 325 = 910 мл. (остатък)

55 тенджери => 55 * 15 = 825 мл. 910 825 = 85 мл. (остатък)

Получаваме команда "End", следователно количеството е стигнало и се печата съответното съобщение: Брой чинии = 53 + 65 = 118. Брой тенджери = 55

1

10

15

10

12

13

30

Not enough detergent, 100 ml. more necessary!

Количество препарат = 1 * 750 = 750 мл.

10 чинии => 10 * 5 = 50 мл.  750 50 => 700 (остатък)

15 чинии => 15 * 5 = 75 мл. 700 75 = 625 мл. (остатък)

10 тенджери => 10 * 15 = 150 мл. 625 150 = 475 мл. (остатък)

12 чинии => 12 * 5 = 60 мл. 475 60 = 415 мл. (остатък)

13 чинии => 13 * 5 = 65 мл. 415 65 = 350 мл. (остатък)

30 тенджери => 30 * 15 = 450 мл. 350 <= 450 (100 недостиг),следователно печатаме съобщение за недостиг на препарата 

0
Programming Basics with Java 19/06/2019 14:33:34
ivanmitkoff avatar ivanmitkoff 2 Точки

Благодаря! Много изчистено и просто решение на задачата имаш, аз доста съм се увъртял в проверки. 

0