Здравейте, някой може ли да помогне със задачата Calculate Change на Javascript?
На локалния компютър я тествах с различни входящи данни и резултатите са ок, но в Judge не минава.
Благодаря предварително!
Здравейте, някой може ли да помогне със задачата Calculate Change на Javascript?
На локалния компютър я тествах с различни входящи данни и резултатите са ок, но в Judge не минава.
Благодаря предварително!
Здравей, Надежда,
Първо, програмата прави опит да използва променливата input
преди тази променлива да е била дефинирана, което води до съобщението за грешка
ReferenceError: input is not defined
Тази грешка възниква или в края на ред 2, в случай че this.gets
не е било предварително дефинирано, или на ред 4 - в противен случай. При изпращане не решението в Judge този проблем може да бъде решен, като първите 3 реда се заменят например с декларацията
let input = [];
След като отстраним този проблем, можем да забележим, че стойността, присвоена на променливата leva
на ред 19 се измерва в стотинки вместо в левове, така че например при входни данни
1.92
5
получаваме резултат
300 x 1 lev
1 x 5 stotinki
1 x 2 stotinki
1 x 1 stotinka
Дори и да отпечатаме leva
в правилните мерни единици, например заменяйки ред 21 с
print(leva / 100, ' x 1 lev');
закръглянето на input[0]
до следващото цяло число на ред 19 няма да е винаги коректно, освен при положение че input[1]
е също цяло число. Например при входни данни
1.5
2.5
вече “коригираната” програма ще изведе
0.5 x 1 lev
1 x 50 stotinki
Този (последен) проблем можем да отстраним, като използваме формули, аналогични на тези от редове 30-32 и 46-48, а именно като заменим редове 19-21 с
leva = Math.floor(change / 100);
changetemp = change - leva * 100;
print(leva + ' x 1 lev');
Най-накрая можем да забележим, че допълнителната променлива changetemp
всъщност не е необходима - нейната роля може да се поеме изцяло от change
.
Поздрави,
Иван
Здравейте,
И аз се боря от известно време с тази задачка-закачка, но в едни случаи ми изчислява 1 стотинка, в други не.
Пример: При 0.92 и 1 лев - изчислява, но при 0.92 и 5 лева - не изчислява стотинката.
Пробвах с различни критерии за стотинката, но не излиза…
Това е кода - https://pastebin.com/f74heguw
Резултата от Judge:
Test case #1: WA [0.008s, 7.53 MB] (0/1)
Your output (clipped)
1 x 20 stotinki
1 x 2 stotinki
1 x 1 stotinka
Test case #2: AC [0.008s, 7.53 MB] (1/1)
Test case #3: WA [0.007s, 7.53 MB] (0/1)
Your output (clipped)
1 x 50 stotinki
2 x 20 stotinki
1 x 5 stotinki
1 x 2 stotinki
1
Test case #4: AC [0.007s, 7.53 MB] (1/1)
Test case #5: AC [0.007s, 7.53 MB] (1/1)