Loading...
vani4ka66 avatar vani4ka66 24 Точки

[Exam Problems] Java Fundamentals 23.04.2016 - problem {3} - Critical Breakpoint

Колеги, който е решил задачата може ли да даде кода, понежe успях уж да я реша с BigInteger, обаче минават само нулевите тестове и първите два и ми дава 20 точки. 

PP: Успях най - накрая да я реша, 100/100, ако някой иска да гледа кода ето го - 

https://github.com/vani4ka66/Critical-Breakpoint/blob/master/Problem%203%20Critical%20Breakpoint

 

Тагове:
1
Fundamentals Module 25/04/2016 12:33:58
butanfire avatar butanfire 32 Точки

Привет!
 

Ами ползват се функциите на BigInteger. В случая ти трябва bigIntNumber.mod(BigInteger.ValueOf(numberLines)).

.mod изисква BigInterger, а пък броят линии в кода ми е Integer. 

Аз също я финиширах с 20т., като се прибрах вкъщи видях и осъзнах че ползвам modPow , вместо Pow за пресмятането се чудих дали да плача или да се смея :D

Разликата е 70т.

За да не говоря измишльотини :

Грешен код (20т.) - http://pastebin.com/08qAjv59

Верен код (90т.) - http://pastebin.com/yPd1HP7g 

 

За 4-та ми се случи подобно нещо - бях сложил else if вместо if на едното сортиране (не зная защо) и така ми объркваше 3-тото сортиране - 30т. назад. :D 

2
25/04/2016 09:29:28
vani4ka66 avatar vani4ka66 24 Точки

Уж си оправих кода, сега са с BigInteger, обаче пак дава 20 точки, и не разбирам къде бъркам. Решението ми е по-дървено от твоето, но това измислих на изпита. Ако ти се занимава, ще погледнеш ли да кажеш къде може да ми е грешката. Мерси :)

0
butanfire avatar butanfire 32 Точки

Не си го оправила достатъчно :)

0) Не разбирам тези смятания, които правиш. :)

=> Аз имам само едно единствено смятане (което бях объркал) , другото са проверки. Не мога да си обясня защо имаш sum/summary , примерно :

sum = BigInteger.valueOf(list2.get(0).longValue());
  sumary = sumary.multiply(sum);

1) Виждам на места смяташ с long а не с BigInteger.

2) Също така :

Това не ти е правилно, защото sb му липсва .ToString();

if (sumary == BigInteger.ZERO) {
  System.out.println(sb);
  System.out.printf("Critical Breakpoint: %d", sumary);
1
kaloyannikov avatar kaloyannikov 531 Точки

http://pastebin.com/G8b1BE36 тоя код дава 100/100 , на изпита ми даваше 90 не се бях сетил да ползвам Long вместо Integer , за такава малка промяна много ме беше яд.

1
bety_1988 avatar bety_1988 49 Точки

Ето го и моето решение на задачата тук

Доста е дългичко, но като се напише и един метод за печатането може и да стане симпатично. Дава 100 /най-накрая/ :)

0
Ivan_Pashkulev avatar Ivan_Pashkulev 20 Точки

Ето го и моето 100точково решение. Написал съм коментари на всяка стъпка, така че би трябвало да е лесно за четене и разгадаване, и полезно за всички, които са изпитали трудност с тази задача. На мен лично големия ми минус на изпита беше че не знаеx че не мога да сравнявам Long (както и всички останали обекти) с операторите "==" и "!=", а само с equals. Това го разбрах от коментарите на авторското решение. Само ги смених и от раз се появиха 100те точки:))

https://github.com/pashkulev/JavaFundamentalsExams/blob/master/Problem03_CriticalBreakpoint.java

 

1
kaloyannikov avatar kaloyannikov 531 Точки

Междудругото ако имаш 1 ArrayList<ArrayList<Long>> можеш директно в него да запишеш числата и да не се занимаваш да имаш ArrayList<String> и после принтирваш всеки ArrayList<Long> той директно ще принтира елементите като [1,2,3,4] примерно. 

1
Ivan_Pashkulev avatar Ivan_Pashkulev 20 Точки

Така е, прав си, но на мeн така ми хрумна докато я решавах:))

1
28/04/2016 16:51:41
golearnweb avatar golearnweb 37 Точки

Ето ТУК пак има решение със 100 точки :-)

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