Loading...
Petkovv avatar Petkovv 0 Точки

Задача 4 ( Arrays and Methods more exercises) Grab and Go

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

Видях че има доста писано специално за тази задача, но всичките решения които бяха дадени, например да се промени типа на сумата от int на long или индекса да ми е -1 а не 0, при мен не помогнаха. Ще ви бъда много благодарен ако ударите едно рамо, но върху моя код а не готова решена задача със различен код. Ето го моето решение което дава 71/100.... :/


https://pastebin.com/jcq4n7Yx

Тагове:
0
Programming Fundamentals 02/07/2018 16:39:12
NikolayNeykov92 avatar NikolayNeykov92 617 Точки
Best Answer

Здравей,

направи си променливата result да бъде от тип long

и в първия цикъл да въртиш до input.Length-1 включително

for (int i = 0; i <= input.Length-1; i++)

и ще ти даде 100/100

1
Petkovv avatar Petkovv 0 Точки

Благодаря много. Само ако може да ми обясниш защо с int не става а с long работи. В какъв смисъл int-ът прелива и не се побира информацията в него като самите числа не са големи. Благодаря отново :)

0
TeodorStefanovPld avatar TeodorStefanovPld 1274 Точки

   result += input[i]; - ей това тук както ти е казал колегата ако е int ще изгърми явно в скритите примери подават много големи числа и акумулативния ефект ще счупи обема на int затова ти трябва long ти гледаш примерите но в тестовете числата са други. Ти и локално сам можеш да си го тестваш с debuger-a пусни едно long число и ще видиш как result-a ти ще даде outofrangeexception или нещо такова. Опитай да подадеш 2 500 000 000 и ще изгърми 

1
03/07/2018 12:18:36
NikolayNeykov92 avatar NikolayNeykov92 617 Точки

В Constraints пише следното :

  • The number will be integer in the interval [-2147483648…2147483647]

т.е. е напълно възможно например да ти се подаде масив от числа със стойност 2147483647

и съответно като ги сумираш няма как да ги събереш във променлива от тип int.

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