Професионална програма
Loading...
+ Нов въпрос
asyamincheva avatar asyamincheva 20 Точки

Защо не се получава? Грешка тестове на изпит 27.07 - задача 1

Здравейте! Ще ви бъда благодарна, ако ми обясните къде е грешката ми в решението на тази задача: link в Judge S. Това е решението ми: link. Получавам грешка на 3-ти и 10-ти тест, въпреки че output-ът ми е какъвто трябва да бъде... Тестовете са: [5,10] & [999999,1000000] - тестове. При авторското решение се получават 100/100т.

п.с. Чудя се дали грешката се получава, тъй като при тест 3 е:

<table><tr><th>Num</th><th>Square</th><th>Fib</th></tr><tr><td>5</td><td>25</td><td>yes</td></tr><tr><td>6</td><td>36</td><td>no</td></tr><tr><td>7</td><td>49</td><td>no</td></tr><tr><td>8</td><td>64</td><td>yes</td></tr><tr><td>9</td><td>81</td><td>no</td></tr><tr><td>10</td><td>100</td><td>no</td></tr></table>

т.е. някои редове от таблицата не са разположени както трябва.

По същият начин е и 10-ти тест и въпреки това с авторското решение се получава.

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

0
JavaScript Fundamentals 22/11/2014 22:38:18
Dominik avatar Dominik 82 Точки
Best Answer

Здравей,

трябва да кастнеш 'start'  и 'end' към Number и ще заработи без проблеми 100/100 (пробвах го).

За жалост немога да ти кажа с точност причината, но доста колеги се натъкнаха (включително и аз) на този проблем така, че на изпита съветвам всички да си кастват числата към Number за да нямат проблеми.

Успех.

1
nikola.m.nikolov avatar nikola.m.nikolov 830 Точки

Аз и на друга греда се натъкнах :) Колеги, когато искат от вас да закръглявате числата до 2 цифри след десетичната и за това използвате .fixed(2) имайте предвид, че числото автоматично се преобразува в string. После ако искате това число да го сравнявате с друго то непременно пак си го кастнете числото към Number тип.

0
asyamincheva avatar asyamincheva 20 Точки

Получи се, благодаря :)

0
asyamincheva avatar asyamincheva 20 Точки

Благодаря ти за съвета, наистина ще е полезен! :)

0
Bobosam avatar Bobosam 185 Точки

Здравей, преди малко ти тествах кода. Грешката ти е при обработване на входа. Имай в предвид, че на входа всичко влиза като стринг. Направи го така var start = Number(arr[0]);    var end = Number(arr[1]); и вадиш 100точки. Успех на изпита.

var start =parseInt(arr[0]);    var end = parseInt(arr[1]); в случая ти върши същата работа.

0
22/11/2014 23:02:50