Професионална програма
Loading...
+ Нов въпрос
JulianK avatar JulianK 2 Точки

06. Number Generator

https://pastebin.com/0eEtHNKT -  код. 50/100 ми дава джъдж.

 

https://judge.softuni.bg/Contests/Practice/Index/540#5

Задача 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 ред:
  • “Yes! Control number was reached! Current special number is {специалното число}.
  • Ако контролното число НЕ е достигнато се отпечатва 1 ред:
  • “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

 

Тагове:
0
Programming Basics
Svetoslavivanov0 avatar Svetoslavivanov0 24 Точки

https://pastebin.com/W5xPdcAC

0
09/03/2018 16:42:30