Loading...
sustav avatar sustav 1 Точки

Решение на две изпитни задачи.

Здравейте,

Моля за малко помощ, защото не успях да взема 100/100 на долните две изпитни задачи, реших го по всевъзможни начини, но нещо ми убягва и не мога да разбера какво.

Ето я първата:

 

Задача 3. Компютърна зала

В най-голямата компютърна зала в България цените варират поради голямата посещаемост. Таксите на залата били в зависимост от това дали е ден или нощ, както и месеца в който се посещава залата. Цените са следните:

 

Март до Май

Юни до Август

 Ден

10.50лв/ч

12.60лв/ч

 Нощ

8.4лв/ч

10.20лв/ч

Предлагат се и следните отстъпки в следната последователност:

  • За група от четирима или повече човека, цената на човек се намалява с 10%
  • При 5 или повече часа прекарани, цената се намалява с 50% на човек

Да се напише програма, която изчислява цената на човек за час и общата сума.

Вход

Входът се чете от конзолата и съдържа точно 4 реда:

  • На първия ред - месецът - текст с възможности "march", "april", "may", "june", "july", "august"
  • На втория ред - броят на прекараните часове, цяло число [1...10]
  • На третия ред - броят на хората в групата, цяло число [1...10]
  • На четвъртия ред - времето от денятекст с възможности: "day","night"

Изход

Да се отпечатат на конзолата два реда:

  • На първия ред: "Price per person for one hour: {цена на човек на час}"
  • На втория ред: "Total cost of the visit: {общата сума}"

Цената да бъде закръглена до втория знак след десетичната запетая.

Примерен вход и изход

Вход

Изход

Обяснения

march

3

3

day

Price per person for one hour: 10.50

Total cost of the visit: 94.50

Цената е 10.50лв. (march day) на човек.

(10.50 * 3) * 3 = 94.50лв. общо за цялото посещение

july

5

5

night

Price per person for one hour: 4.59

Total cost of the visit: 114.75

Цената е 10.20лв. (july night) на човек. Хората са повече от 4 => 10.20 – (10.20 * 0.1) = 9.18лв. Часовете са 5 => 9.18 - (9.18 * 0.5) = 4.59лв. на човек.

(4.59 * 5) * 5 = 114.75лв. общо за цялото посещение

Ето и моето решение за нея:

https://pastebin.com/47LXjC28

 

Ето я и другата задача:

Изпит по "Основи на програмирането" -

29 февруари и 1 март

 

Задача 4. Подаръци от Дядо Коледа

Дядо Коледа започва да обикаля от град на град за да носи подаръци на всички послушни деца. Той ви моли да напишете програма, която да принтира на конзолата всички адресни номера от М до N, които се делят едновременно на 2 и на 3 без остатък, тъй като Дядо Коледа, знае че там живеят само послушни деца. От конзолата ще се чете още един номер на адрес S. Ако някое от делящите се на 2 и 3 адреси е равно на адреса S, този адрес не трябва да се принтира и програмата трябва да приключи. В противен случай се принтират всички адресни номера до N, които отговарят на условието.

Вход

От конзолата се четат точно 3 числа, всяко на отделен ред:

  • Nцяло число 0 <= N < M
  • Mцяло число – N < M <= 10000
  • Sцяло числo – N <= S <= M

Изход

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

Примерен вход и изход

Вход

Изход

Обяснения

1

30

15

30 24 18 12 6

Адресните номера от 30 до 1, които се делят едновременно на 2 и на 3 без остатък са: 30, 24, 18, 12 и 6.

Като 15 не е равно на нито едно, затова поредицата не бива прекъсната.

Вход

Изход

 

1

36

12

36 30 24 18

Адресните номера от 36 до 1, които се делят едновременно на 2 и на 3 без остатък, са: 36, 30, 24, 18, 12 и 6.

12 е равно на адреса S, затова спираме до 18.

Вход

Изход

20

1000

36

996 990 984 978 972 966 960 954 948 942 936 930 924 918 912 906 900 894 888 882 876 870 864 858 852 846 840 834 828 822 816 810 804 798 792 786 780 774 768 762 756 750 744 738 732 726 720 714 708 702 696 690 684 678 672 666 660 654 648 642 636 630 624 618 612 606 600 594 588 582 576 570 564 558 552 546 540 534 528 522 516 510 504 498 492 486 480 474 468 462 456 450 444 438 432 426 420 414 408 402 396 390 384 378 372 366 360 354 348 342 336 330 324 318 312 306 300 294 288 282 276 270 264 258 252 246 240 234 228 222 216 210 204 198 192 186 180 174 168 162 156 150 144 138 132 126 120 114 108 102 96 90 84 78 72 66 60 54 48 42

 

Ето и решението ми за втората:

https://pastebin.com/Rs3PxDvK

 

Благодаря Ви за отделеното време. много ще се радвам ако някой ми помогне, да разбера къде ми е пропуска.

 

0
DeveloperEnthusiast avatar DeveloperEnthusiast 303 Точки

Понеже използваш лист в тази задача поради някаква причина, което не е лошо, но самата идея на листа тук е да не повтаряш на всякъде съдържанието от вътре. Eто ти едно решение: https://pastebin.com/rnYNefz6, което написах специално за теб, в което има и мини речници за цените, за да придобиеш представа как да не си повтаряш проверките, като не визирам само листа.

В другата задача можеше просто да му кажеш, че цикъла трябва да му е до n-1, за да е до n включително. smiley

0
02/03/2020 13:57:33
sustav avatar sustav 1 Точки

Благодаря Ви и на двамата за отделеното време. И двете задачи съм ги решил по 6-7 различни начина. За 4та пробвах и твоя вариан, но никое не работеше. Не знам към кого да се обърна, защото от soft уни нито си дигат телефона, нито отговарят на съобщения няма никаква връзка с тях, за да проверят, дали наистина проспуска е при мен.

1
CvetanSavov avatar CvetanSavov 0 Точки

Здрасти може ли малко помощ за java basic на двете? 

0
Drinoff avatar Drinoff 2 Точки

Тази задача за компютърна зала я реших за 5 минути като теб. Сега проверявам и е точно същата логика. Еми 5-тия тест не пасваше. После я реших по още два или три различни начина. Смятах в ифовете, извън тях , смятах за човек и после цялата сума. Не искаше и не искаше да минава 5-ти тест. Усещах че има някъде проблем в джъдж. Сега си проверих резултата от тая задача и е оправено дадени са ми 100 точки. Искам да кажа че задачата не е трудно но явно е имало нещо проблем с джъдж. Сега гледам че е оправено. Камък ми падна от сърцето , понеже бях ядосан на себе си че не съм успял да реша задачата. Не ми дреме много за оценката отколкото това да разбера задачите и да си ги реша както ми идва отвътре. 

0
sustav avatar sustav 1 Точки

Аз съм същия случай като теб, само че мойте задачи не са оправени. При първата проверка на първа задача ми даде 60/100 ..... не че се имам за много, но това беше първа и проблема не беше в часовници или звездички. След това качих пак същото решение и 100/100. Минах през 2-3-4-5-6. Като реших 5 и 6 за 5 мин. 100/100 от първия път. След това 3-4 ги решавах около 4 часа с 20 различни решения и не минава и не минава. Кофтито е , че не знам къде да питам, за да се провери..........

0
Drinoff avatar Drinoff 2 Точки

Видах това. Исках да кажа че на изпита за това решение даваше 80/100. А сега са го оправили и е 100/100

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