Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Изпит по "Програмиране за начинаещи" – 7 май 2017
- Задача 6. Генератор на числа
- Да се напише програма, която прочита от конзолата три цели числа – M, N и L, и генерира всички числа в диапазона от MNL до 111. От конзолата се чете едно специално и едно контролно число. За всяка комбинация от тройката числа се прави проверка:
- 1. Ако се дели на 3 без остатък – към специалното число се добавя 5;
- 2. Ако завършва на 5 – от специалното число се вади 2;
- 3. Ако е четно число – специалното число се умножава по 2.
- Трябва да се има предвид, едно число може да отговаря на повече от една проверка. В такъв случай трябва да се гледа приоритетът на операциите. Първо дали се дели на 3, после дали завършва на 5 и накрая дали е четно числото. Например:
- 972 се дели на 3 и е четно. В такъв случай изпълняваме само операцията с най-голям приоритет и към специалното число добавяме 5, но НЕ го умножаваме по 2 след това.
- 315 се дели на 3 и завършва на 5. Към специалното число добавяме 5.
- В случай, че не отговаря на нито една от посочените проверки, НЕ се извършва операция и програмата продължава. Ако специалното число стане равно или по-голямо от контролното програмата приключва.
- Вход
- От конзолата се четат 5 числа, всяко на отделен ред:
- 1. М – цяло число в интервала [1 … 9];
- 2. N – цяло число в интервала [1 … 9];
- 3. L – цяло число в интервала [1 … 9];
- 4. Специално число – цяло число в интервала [0 … 100];
- 5. Контролно число – цяло число в интервала [0 … 1000];
- Изход
- Отпечатването на конзолата зависи от резултата:
- • Ако контролното число е достигнато се отпечатват 1 ред:
- o “Yes! Control number was reached! Current special number is {специалното число}.”
- • Ако контролното число НЕ е достигнато се отпечатва 1 ред:
- o “No! {специалното число} is the last reached special number.”
- Примерен вход и изход
- Вход Изход Обяснения
- 9
- 7
- 3
- 2
- 44 Yes! Control number was reached! Current special number is 48. 973 – не се дели на 3, не завършва на 5 и не е четно => върху него не се извършват никакви операции. Специалното число е по-малко от контролното и програмата продължава.
- 972 - дели се на 3 => 2 + 5 = 7. Специалното число е по-малко от контролното и програмата продължава.
- 971 – не отговаря на условията и не се извършват операции
- 963 - дели се на 3 => 7 + 5 = 12
- 962 - четно => 12 * 2 = 24
- 961 - не отговаря на условията и не се извършват операции
- …
- 952 - четно => 24 * 2 = 48
- 48 >= 44
- Вход Изход Обяснения
- 1
- 1
- 7
- 1
- 308 No! 35 is the last reached special number. 117 - дели се на 3 => 1 + 5 = 6
- 116 - четно => 6 * 2 = 12
- 115 - завършва на 5 => 12 – 2 = 10
- 114 - дели се на 3 => 10 + 5 = 15
- 113 - не отговаря на нито една проверка и програмата продължава
- 112 - четно => 15 * 2 = 30
- 111 - дели се на 3 => 30 + 5 = 35
- 35 < 308
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement