Loading...
sis44o avatar sis44o 5 Точки

[Programming Basics] Exam - 7 May 2017 - Задача 6. Генератор на числа

Здравейте,

Ето кода, който опитвам - https://pastebin.com/xtKBLHAv

Ако премахнете коментарите ясно ще видите, при кои числа как изчислява.

Задача 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 13/07/2017 15:49:50
sevgin0954 avatar sevgin0954 557 Точки

Мисля че е сбъркан примера от 961 чак на 952 намери четно чесло laugh  а този bool flag незнам какво прави но е излишен.Откъде е взе задачата? 

0
11/07/2017 22:32:42
sis44o avatar sis44o 5 Точки

Задачата е от минал изпит. bool flag-а ми дава приоритет при различните условия - така се сетих, така го направих  (сигурно може и по друг начин). С този код judge ми дава 50 %.

0
sevgin0954 avatar sevgin0954 557 Точки

bool flag не прави никаква промяна ако се изпълни някои if после не се изпълнява else. дай линк към judge

0
11/07/2017 22:53:53
sis44o avatar sis44o 5 Точки

Ето линк към Judge: https://judge.softuni.bg/Contests/Practice/Index/540#5

 

0
VasilValchanov avatar VasilValchanov 555 Точки

https://softuni.bg/forum/14703/zadacha-exam-shopping -> разгледай тази тема

0
sis44o avatar sis44o 5 Точки

Прочетох темата, но не видях връзката.
Пробвах да махна return-а, но сега ми дава само 10%.

0
sis44o avatar sis44o 5 Точки

Един колега, във фейсгрупата ми, подаде верен отговор - https://pastebin.com/4xKEdEGt .

Ако още някой се затруднява, може да го ползва.

1
simeon3000 avatar simeon3000 264 Точки

https://pastebin.com/wiRG8mu5 - това решение предадох на моя изпит.

Подсказка: последната задача на изпита Basics винаги е с вложени цикли.

0
12/07/2017 00:42:09
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.