Loading...
NonaG avatar NonaG 111 Точки

Проблем със задача "Специални числа" от изпита на 24 април 2016

Задачата е тук: https://judge.softuni.bg/Contests/Practice/Index/181#5

Решението ми е това: http://pastebin.com/nSupgAtS

Judge ми дава 90/100 - грешка на 9-ти тест, но не виждам разлика между зададения output на този тест и моето решение в конзолата. Днес за втори път се случва /всъщност, досега не ми се е случвало/. Втората ми задача, в която не намирам никаква разлика между моето решение  и зададения в Judge output е на задача 3 от същия изпит - пак 90/100, грешка в 1 тест. Решението ми на тази задача е: http://pastebin.com/irtcDW17

 

Тагове:
0
Programming Basics 22/12/2016 09:15:12
kapkin avatar kapkin 36 Точки
Best Answer

Здравей NonaG,

някакъв проблем явно е имало с Judge, защото след като прегледах кода ти и не открих нищо нередно(според мен ;) ) го тествах и ми даде 100/100. Пробвай го пак, иначе и предложението на колегата е интересно - аз лично я бях решила като него.

Успех!

0
11/12/2016 13:45:51
NonaG avatar NonaG 111 Точки

Да, и на мен сега ми даде 100 точки. Явно системата понякога се бъгва, даже на трета задача все още е 90 от 100 и пак гърми в първи тест, но поне съм сигурна, че този път грешката не е в мен. Благодаря и за другата идея за решение!

0
PetkoBlagoev avatar PetkoBlagoev 3 Точки

Най-удобно е да въртиш с for за всяка цифра и накрая да направиш проверката.

http://pastebin.com/j5Fxzivw

 

0
e.manolov avatar e.manolov 80 Точки

Да, явно някаква грешка на judge. Що се отнася до другата задача в линка за операции между числа.

Не ти дава 100 точки, тъй като в условието САМО при целочисленото деление "/" ти искат да форматираш до 2 знака след десетичната запетая, при делението с остатък "%" НЕ трябва да форматираш до два знака.

При така написания от тебе код и при двете деления форматираш до два знака след десетичната запетая.

След като го коригираш ще получиш 100 точки.

Още някой съвет приятелски бих ти дал от тези два твои кода, които видях. Първия е когато трябва да закръгляваш да използваш плейс холъдър например - "{0:F2}", вместо Math.Round. Проблема идва от там , че когато искат от тебе да форматираш до 2 знака след запетаята, когато крайния резултат ти е 2, Math.Round ще го остави 2, но плейсхолдъра ще го направи 2.00, което ще бъде правилно (според задачата разбира се). Другия ми съвет е да наименоваш малко по значещо и коректно променливите - можеш да видиш в книгата на Наков има специална точка за наименоване на променливи.

 

 

 

0
NonaG avatar NonaG 111 Точки

Да, това с плейсхолдера и на мен ми е по-бързо за ползване, но в тези задачи тук това е доста двусмислено. По условие пишат да се закръгли до 2 знака след запетаята, но в джъдж дава грешка: ако резултатът е цяло число - нпр. 2, джъдж е заложено да е изписано 2; ако е 2,01, тогава плейсхолдерът работи. Ако обаче резултатът може да е  и цяло число, и десетична дроб, единствено Math.Round го прави коректно. И аз го забелязвам, естествено, чак, когато даде грешка, и почвам да ги сменям...Понеже if-овете не ми работеха коректно първоначално, промених програмата, но закръглянето в последния вариант от кода не съм го заглеждала, затова е останало така, наистина е безсмислено при сбор, разлика и умножение на цели числа да правя закръгляне...

Г-н Манолов, ако можете да видите теста, който ми дава грешка, /копиран от авторските файлове в джъдж/,:

input:

55
5
/

output:

55 / 5 = 11

А това е копирано от конзолата на програмата ми:

55
5
/
55 / 5 = 11
Press any key to continue . . .

Понеже визуално няма никаква разлика, затова приемам, че проблемът не е в мен. Ужасявам се от вариант, в който да имам проблем със софтуера на компютъра ми и от това да ми дава грешка, защото тогава съм безпомощна... Аз затова и бързах толкова да попитам тук...

0
12/12/2016 00:43:30
e.manolov avatar e.manolov 80 Точки

Може ли да ми дадете точната задача, която решавате и съответно кода.

0
Miroslav_Kisov avatar Miroslav_Kisov 60 Точки

Моето решение https://pastebin.com/Ff31JPmK

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