Loading...
am_stanchev avatar am_stanchev 43 Точки

"Задача: дни за страстно пазаруване" от глава 9.2 JS-book "Основи на програмирането" - Judge 90/100

Здравейте,

    Може ли някой да помогне с решението на задача "Дни за страстно пазаруване" - първата задача от глава 9.2 JS-book "Основи на програмирането" https://js-book.softuni.bg/chapter-09-problems-for-champions-part-2.html. Решението  ми изпратено в Judge https://judge.softuni.bg/Contests/Practice/Index/942#1 дава 90/100(грешка в 7-ми тест), като не съм все още наясно с максимума на числата в JavaScript и дали грешката не идва от тест с много голямо число, което не може да бъде обработено. Някой да има идеи?

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

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

Тагове:
0
Programming Basics
willystyle avatar willystyle 2472 Точки
Best Answer

Точно това е и според мен. Като направя тестово решение с

let money = input.shift();

if (money.length === 28) {

    throw new Error();

}

въпросния тест 7 хвърля грешката, значи при него са пуснали число с 28 значещи знака, във всички други тестове знаците са до 15, което е допустимото за значещи цифри при Number в js.

За да се реши проблема има много хубава библиотека: http://jsfromhell.com/classes/bignumber обаче Джъдж на този тест тогава пък излиза от памет.

Като гледам никой не е чукнал 100/100, според мен този тест е останал от другите езици (c# ili java) където са ползвали decimal вместо double и са минали теста.

1
am_stanchev avatar am_stanchev 43 Точки

Много благодаря,

И аз така си мислех, но не съм много запознат все още с JavaScript и реших да попитам. Аз преди година решавах тази задача на C# с decimal и кода е почти едно към едно, но не става. Гледах и решения на Java, там пък бяха ползвали BigInteger и затова предположих че става въпрос за излизане out of range.

Пак благодаря и поздрави

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