Помощ със задача - Calculate Change

Здравейте, някой може ли да помогне със задачата Calculate Change на Javascript?

https://pastebin.com/1JFZgShY

На локалния компютър я тествах с различни входящи данни и резултатите са ок, но в Judge не минава.
Благодаря предварително!

1 Like

Здравей, Надежда,

Първо, програмата прави опит да използва променливата 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.

Поздрави,
Иван

5 Likes

Здравейте,

И аз се боря от известно време с тази задачка-закачка, но в едни случаи ми изчислява 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)