Изчисляване броя на излекувани и неизлекувани пациенти

С помощта на for цикъл обхождаме всички дни в дадения период (period). За всеки ден прочитаме от конзолата броя на пациентите (currentPatients). Увеличаването на докторите по условие може да стане всеки трети ден, НО само ако броят на непрегледаните пациенти е по-голям от броя на прегледаните. За тази цел проверяваме дали денят е трети – чрез аритметичния оператор за деление с остатък (%): day % 3 == 0.

Например:

  • Ако денят е трети, остатъкът от делението на 3 ще бъде 0 (3 % 3 = 0) и проверката day % 3 == 0 ще върне true.
  • Ако денят е втори, остатъкът от делението на 3 ще бъде 2 (2 % 3 = 2) и проверката ще върне false.
  • Ако денят е четвърти, остатъкът от делението ще бъде 1 (4 % 3 = 1) и проверката отново ще върне false.

Ако проверката day % 3 == 0 върне true, ще се провери дали и броят на неизлекуваните пациенти е по-голям от този на излекуваните: untreatedPatients > treatedPatients. Ако резултатът отново е true, тогава ще се увеличи броят на лекарите (countOfDoctors).

След това проверяваме броя на пациентите за деня (currentPatients) дали е по-голям от броя на докторите (countOfDoctors). Ако броят на пациентите е по-голям:

  • Увеличаваме стойността на променливата treatedPatients с броя на докторите (countOfDoctors).
  • Увеличаваме стойността на променливата untreatdPatients с броя на останалите пациенти, който изчисляваме, като от всички пациенти извадим броя на докторите (currentPatients - countOfDoctors).

Ако броят на пациентите не е по-голям, увеличаваме само променливата treatedPatients с броя на пациентите за деня (currentPatients).

Накрая трябва само да отпечатаме броя на излекуваните и броя на неизлекуваните пациенти.

Тестване в Judge системата

Тествайте решението си тук: https://judge.softuni.bg/Contests/Practice/Index/511#3.

results matching ""

    No results matching ""