Loading...
Filkolev avatar Filkolev 4482 Точки

[Exam Problems] Java Basics - 03 September 2014 - {03} Biggest 3 Prime Numbers

Имам забележка към тази задача. В Judge има два некоректни теста - 7-ми и 8-ми.

В условието е казано: You are given n numbers in format (a1) (a2) … (an).

Малко по-надолу, в секцията Input пише: All numbers are in brackets.

Във въпросните два теста има числа, които не са оградени от скоби, като в 8-ми нито едно число не е в скоби. От двете изречения по-горе става ясно, че скобите не са опционални, т.е. казва се, че задължително ще има такива => тестовете са некоректни.

Авторското решение ползва регекс и този проблем се заобикаля. Аз обаче, като човек, който не е много уверен с регекс, ползвах малко по-тъпашки начини да си сплитна входа до числа. Методът ми разчиташе на факта, че между всеки две числа имам скоби, съответно на двата теста имам runtime error. 

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

Друго, което се е обсъждало вече и без това - ако на изпита се очаква да знаем регекс, то трябва да се направи и лекция за него. В противен случай трябва доста по-внимателно да се обмислят задачите, които се дават, за да не бъдат твърде зависими от знанията на даден студент по регекс и да може да се решат и с малко идиотски начини, които обаче да са по-разбираеми (например предварително чистене на празни места, сплитване по конкретни символи и т.н.). Не е много приятно да знаеш отлично как да си решиш задачата, но да не може да го направиш, защото не може да си обработиш входа и никой не те е научил как да го правиш. А с търсене в гугъл нещата са 50-50, понякога веднага намираш точния регекс, който ти трябва, понякога намираш само глупости. Т.е. нека се избегнат случаите, в които ако не знаеш много-много регулярните изрази да не може да си вземеш 100 точки заради това.

2
Java Advanced 11/09/2014 15:00:00
stefoto avatar stefoto 51 Точки

Здравейте, колеги,

В judge имам 90/100 точки на тази задача и се чудя къде може да ми е грешката. Възможно ли е да погледнете и вие: _03_BiggestThreePrimeNumbers

Благодаря предварително! :)

0
dim4o avatar dim4o 288 Точки

Метода ти isPrime() връща "true" за 0,1, както и за всички отрицателни числа. Това не е правилно и оттам може би ти гърми някой тест. Осен това в условието е казано, че простите числа са натурални и има линк да се погледне каква е точната дефиниция на натурално число.

0
16/09/2014 16:50:50
VenelinGrozev avatar VenelinGrozev 130 Точки

На 10ти тест ти гърми понеже каза колегата над мене метода isPrime отчита 0, 1 и всички отрицателни числа.

Отговора на теста е No а решението ти връща резултат 14.

0
stefoto avatar stefoto 51 Точки

Отново не се получава. Добавих в метод isPrime() проверка числото, ако е по-малко от 2 да връща false и пак 90/100.

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