Въпрос за минал тест
Изпит по "Основи на програмирането" – 17 Септември
Задача 2. Трима братя
Трима братя решили да изненадат баща си, като почистят заедно гаража му. Големият брат чисти сам за определени часове – А. Средният брат чисти сам за В часа. По-малкият брат чисти сам за С часа. Бащата отива да лови риба и няма да го има D часа.
Напишете програма, която пресмята дали тримата братя могат да изчистят заедно гаража и да изненадат баща си или не.
Към общото време за почистване се добавят 15% за почивка.
Вход
Входът се чете от конзолата и се състои от 4 реда:
Времето на първият брат за чистене сам – реално число в интервала [0.00 … 99.00]
Времето на вторият брат за чистене сам – реално число в интервала [0.00 … 99.00]
Времето на третият брат за чистене сам – реално число в интервала [0.00 …99.00]
Времето за риболов на бащата– реално число в интервала [0.00 … 99.00]
Изход
На конзолата трябва да се отпечата два реда.
Времето за чистене и почивка, форматирано до втори знак: “Cleaning time: {Времето за чистене }”
Има ли изненада или не:
Ако братята СА изненадали бащата (time left > 0): “Yes, there is a surprise - time left - {остатък} hours.” – резултата трябва да е закръглен към по-малко цяло число (пр. 1.90 -> 1).
Ако братята НЕ СА изненадали бащата: “No, there isn’t a surprise - shortage of time - {недостиг} hours.” – резултата трябва да е закръглен към по-голямо цяло число (пр. 1.10 -> 2).
Примерен вход и изход
Вход Изход Обяснения
3
4
5
3.6
Cleaning time: 1.47
Yes, there is a surprise - time left -> 2 hours.
общо време =1 / (1/3+1/4+1/5)= 1.27659574468085 часа
време с почивка = 1.27659574468085 *0.15= 1.46808510638298 часа
3.6 - 1.46808510638298 = 2.13191489361702 = 2 часа остават
Вход Изход Обяснения
3.2
2.5
1.24
0.5 Cleaning time: 0.76
No, there isn't a surprise - shortage of time -> 1 hours.
==============================================================================================
Над колко трябва да е времето , за да е изненада ?
Времето(заедно с почивките) трябва да е < D часа, тъй-като когато се прибере бащата (след D часа), Той трябва да види, че гаража му е чист(т.е. той ще се изненада, че синовете му са успели да изчистят гаража му докъто той е за риба и се прибере, иначе ако не са успели да го изчистят няма да е изненада).
Така е показано и в подсказката. Четете внимателно условията на задачите.
Edit: Ето го и моето решение:
https://pastebin.com/yUmetr4N