Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <cstdlib>
- #include <iostream>
- #include <conio.h>
- using namespace std;
- int main(int argc, char *argv[])
- {
- /*Кощею Бессмертному было всего 400 лет, когда Василиса Прекрасная пообещала, что выйдет за него замуж,
- если он помолодеет на 375 лет. С этого дня Кощей стал ежедневно делать зарядку и питаться только молодильными яблоками.
- Молодильные яблоки – сильнодействующее, но небезопасное средство.
- Каждый день приема этих яблок делает Кощея моложе на 25 лет, но сокращает срок его жизни вдвое.
- Обычно Кощеи живут 3200 лет. Определить, что ждет Кощея: свадьба или смерть и на какой день приема молодильных яблок.
- Снабдите Кощея Бессмертного необходимым для решения задачи софтом.*/
- int realAge = 400;//возраст Кощея
- int maxAge = 3200;// максимальный начальный возраст Кощея
- int planAge;// планируемый возрас для женитьбы
- const int removeAge = 375;// кол-во лет, на которые должен помолодеть Кощей
- const int appleBetter = 25;//делает моложе (appleBetter - яблоко улучшает)
- const int appleDeteriorate = 2;//сокращает максимальный возраст (appleDeteriorate - яблоко ухудшает)
- bool f = false;// объявляем логическую переменную, которая следит за тем, была свадьба или нет. Изначально ее нет
- planAge = realAge - removeAge;//расчитываем планируемый максимальный возраст для свадьбы (т.к. можно быть младше)
- while(maxAge >= realAge){ //цикл продолжается пока Кощей жив, то есть, пока его максимальный возраст больше или равен реальному
- //Вначале делаем проверку возраста, а вдруг Кощей уже соответствует требованиям свадьбы?
- if (realAge <= planAge){ //если реальный возраст стал меньше планируемого, то есть цель омоложения достигнута
- f = !f;//инвертируем значение f. То есть, из false делаем true
- break;//уходим из цикла омоложения
- }
- //каждый день (каждый шаг цикла) делаем возраст Кощея на 25 лет меньше
- realAge -= appleBetter;//операция -= позволяет из переменной перед операцией отнять значение перменной после операции
- //но максимальный возраст уменьшается в 2 раза
- maxAge /= appleDeteriorate;// операция /= позволяет делить значение переменной до операции на значение переменной после операции
- }
- if(f) //выйдя из цикла проверяем, была ли свадьба
- cout << "Ura, svad'ba!";//если f стала true, объявляем свадьбу (первый вариант расчитан на true)
- else
- cout << "Vse ploho, horonim =(";//если f осталась false, объявляем похороны (второй вариант, после else расчитан на false)
- _getch();
- return EXIT_SUCCESS;
- }
Add Comment
Please, Sign In to add comment