Java, Nested Loops Exercise, 04. Equal Sums Even Odd Position
Здравейте,
Може ли някой да ми обясни защо задача 04. Equal Sums Even Odd Position от Nested Loops Exercise минава в Judge когато цикълът е зададен да се върти докато първото число <= второто число. В условието е посочено "Винаги първото въведено число ще бъде по малко от второто."
Ето линк към моето решение 100/100 в Judge, където while() цикълът се върти докато първото число <=второто число: https://pastebin.com/u95vp9yg
Ето и същото решение, с единствена промяна while() цикълът да се върти докато първото число <второто число, както е посочено в условието. При този случай точките са 70/100: https://pastebin.com/mhs4fxy0
Цялото условие може да бъде намерено в този документ: https://softuni.bg/downloads/svn/programming-basics-v4/course-content/course-resources/Java/07.PB-Java-Nested-Loops/07.4%20PB-Java-Nested-Loops-Exercise.docx
Благодаря, но пак не разбирам логиката. Пример: Взех правилния код с цикъл <= и за вход му подавам две еднакви числа 100001 и 100001. Още от този момент нарушавам условието "Винаги първото въведено число ще бъде по малко от второто", но поради <= в цикъла бива отпечатано числото 100001. Не разбирам защо изобщо трябва да вървят проверки когато първото число още при входа не е по-малко от второто.
Ами такъв вход нямаш, както е упоменато, но например при вход 100001 и 100002, ти с второто решение няма да провериш дали 100002 отговаря на условието. Подобно за всички входове. ти проверяваш до предпоследното число и въпросните 30% са явно входове при които последното число отговаря на условието.
При вход 100001 и 100002 , независимо дали се използва цикъл условие <= или < винаги се отпечатва 100001. Това означава, че в Judge има вход с две еднакви числа, въпреки че условието на задачата изключва подобен сценарий.
Не означава това, не ти е виновен джъдж, логиката ти куца.
Вкарай в двете програми 100001 и 100045
за да видиш разликата.