Профил
Loading...
+ Нов въпрос
user101 avatar user101 4 Точки

[Programming Basics] Java Simple Loops - Задача 10. Half Sum Element

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

Успях да реша задачата на 93% (според judge-a).

Гърми ми при вход: 28 1 14 4 32 5 1 4 35 32 42 53 23 2 32 43 32 23 1 23 3 32 323 24 2 43 4 32 5

Изход трябва да бъде: no diff 224

Моят изход: no diff 50176

Ето решението ми: https://pastebin.com/6iWuQ4Rg

Всички други сметки излизат, не мога да разбера защо само при тази се получава така. Ще бъда благодарен на всички отзовали се :)

Тагове:
0
Programming Basics 29/05/2017 16:01:41
DilyanaGeorgieva avatar DilyanaGeorgieva 81 Точки

В момента не мога да се сетя точно за логиката, но има разлика само в последните редове, спрямо моето решение.

https://pastebin.com/FDEc8Yqm

0
tdk928 avatar tdk928 108 Точки

Ето ти и моето решение https://pastebin.com/4URxq8rm
Твоето е найстина доста сложно измислено умножение , събиране и т.н и така е доста трудничко да се хване грешката.Съветвам те да използваш променливи ако имаш някакво действие и може да се запише в променлива за по-голяма четимост например 
(largest - min) може да отиде в променлива.

0
user101 avatar user101 4 Точки

Благодаря и на двама ви! Винаги е интересно да се видят алтернативни методи за решаване :)

 

В крайна сметка основната грешка се оказа липсата на Math.abs-а. Все още не ми е много ясно обаче, кога трябва да се използва и кога не.. 

0
user101 avatar user101 4 Точки

Мерси :)

0
Tomo_Radomirski avatar Tomo_Radomirski 6 Точки

Защо не си направиш променлива numDiff, която ти е разликата от allSum и 2*maxNum? Ще ти е по лесно при ваденето на крайния резултат и при формирането на if-условието.

Ако numDiff е равна на нула това значи, че имаш YES и за SUM си изпечати само максималната стойност.

Ако е ралична от нула, имаш NO и си печатиш за резултат Math.abs(numDiff).

Имам 100/100 на Judge.

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