Софтуерно Инженерство
Loading...
avv77 avatar avv77 2 Точки

Programming Basics Exam - 17 July 2016 - 1. Money

Здравейте!
На първата задача от изпита миналата година  Judge ми дава 91 точки. Промених решението няколко пъти, но отново ми отсъжда същия резултат. Излиза, че има грешка при тест #11, който вкарва 3 нули като вход и съответно иска изход нула. Когато си го debug-нах на място със същия вход ми излезе нула. Пробвах и решението от автора, но то отново получава същия брой точки. Възможно ли е да има проблем в Judge?

Линк към решението: https://pastebin.com/f67NwhG3

Тагове:
alisa_terzieva avatar alisa_terzieva 120 Точки
Best Answer

Здравей, изисква се да се печатат два знака след десетичната запетая, например: "10.00", "3.50". Функцията Math.Round() отрязва крайните нули и затова не получаваш точките за този тест. Опитай се да използваш плейсхолдъри с форматиране до втория знак.

1
avv77 avatar avv77 2 Точки

Благодаря за помощта! Ето линк към финалното решение: https://pastebin.com/bmPw1U61

1
desislava777 avatar desislava777 159 Точки

Така е. Форматирането и закръглянето не е едно и също. {0:0.00} {0:f2}. Това са два начина за форматиране до два знака след десетичната запетая. Може знаците да са повече. Закръглянето освен с Math.Round() може да се извършва и до по-голямото цяло число с Math.Ceiling(), до по-малкото с Math.Floor()...

0