Loading...
VanessaShopping avatar VanessaShopping 48 Точки

Programming Basics Exam - 17 January 2016 -> Problem 02 - Beer Stock

Здравейте

Започнах да решавам старите изпити от курса Programming Basics и ми трябва малко помощ с една от задачите

Ето линк към джъджа https://judge.softuni.bg/Contests/Practice/Index/149#1 

Става въпрос за втора задача.

Ето го и решението ми: http://pastebin.com/sLBwEReL

Тагове:
0
Programming Basics
ZornitsaSerbezova avatar ZornitsaSerbezova 455 Точки

За старите задачи трябва да си прочел за различните типове променливи. В тази задача специално, ще ти трябва long. Иначе задачата има решение в архива, където е и условието.

 

0
26/08/2016 21:44:26
VanessaShopping avatar VanessaShopping 48 Точки

Знам ги променливите. Пробвах и с лонг , но все пак не получавам 100/100 . 

Погледнах го решението в архива. Написано е по друг начин спрямо моя. Идеята ми е да разбера защо моето решение не действа.

Пробвах с различни тестове и според мен всичко си е както трябва , само джъджа не го харесва.

Пробвах граничните стойности. Когато необходимите бири са равни с тези на поръчаните.

С големи цифри. С калкулатора смятах :) . Дебъгвах... и пак всичко ми изглежда както трябва. Сметките уж излизат точни.

Почвам да се съмнявам вече в джъджа :)

Сигурен съм ,че грешката е много малка , почти незабележима , НО я има... искам да разбера каква е.

Помагайте

0
26/08/2016 21:35:03
AntyfrizZz avatar AntyfrizZz 238 Точки

Здравей,

 

1) "However since the world isn’t perfect in every 100 beers exactly the 100th is always broken so it gets discarded."

2) "The amount of reserved beer, and the amount in a shipment will be valid integers in the range [0... 2,147,483,647]." какво ще стане като ти подадат 2 инпута с максималната стойност на int?

 

От тук нататък си ти. Оправи тези 2 неща и ще вземеш 100 точки.

Готов съм и да ти дам някои съвети за по - добра имплементация, ако искаш.

 

Поздрави!

0
VanessaShopping avatar VanessaShopping 48 Точки

1.  if (beersCout >= neededBeers)

             beersCout = beersCout - (beersCout / 100);

Задал съм го така понеже в условието пише ,че когато бирите са достатъчно и са над 100 всяка 100-тна бутилка е счупена. Не съм сложил допълнително условие ( && beersCout >= 100 ) понеже ако е под 100 няма да има разлика в резултата.

 

2. Всички променливи съм ги сменил с лонг... пак джъджа  не ми дава 100/100 . Просто съм качил старото решение с int

 

Съвети и критики приемам винаги :) 

0
26/08/2016 23:25:37
AntyfrizZz avatar AntyfrizZz 238 Точки

Здравей,

 

Къде пише, че само когато бирите са повече от нужните трябва да махаш всяка 100тна бира?

Само с тези 2 промени и с твоето решение взех точките. Сега ще ти напиша кое според мен е излишно по твоя код.

 

Поздрави!

0
AntyfrizZz avatar AntyfrizZz 238 Точки

Здравей,

 

Може би една идея по - добро решение от твоето. Не заделяма памет за 6 променлив, а само за 2 и спестих няколко if-а. Ако има нещо неясно може да питаш.

http://pastebin.com/gQPWmLji

 

Поздрави!

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