Здравейте,
Имам проблем със задача Парола. Пробвам да я реша със JavaScript и получавам верните решения на двата примера но във judge минават само 4 теста.
Кода ми е супер елементарен но немога да си намеря грешката. Предполагам е логическа. Някакви идеи?
let arr = gets().split(" "); //масив за да мога да си взема двете числа
let N = (arr[0]).split("").reverse().join(""); // reversed N
let K = arr[1];
let divide = (Number(N) / Number(K));
let remainder = (Number(N) % Number(K));
print((divide + remainder).toFixed(0))
Здравей колега,
може ли да pastnesh целия код.
Ако е това целия код, според мен пропускаш първа точка:
Разменят се първата и шестата, втората и петата, третата и четвъртата цифри на N.
Поздрави,
Михаил
Колега,
не съм специалист на JS , но според мен най - вероятно се чупи или :
- при LINQ ( reverse) … не съм сигурен ако числото ти е например 111100 … дали няма да го обърне като стринг 001111 и съответно долу когато го ползваш като число да гърми… аз съм го обръщал с уайл цикъл и минава 100 от 100 … ето така :
while (a != 0)
{
int digit = a % 10;
reverse = (reverse * 10) + digit;
a = a / 10;
}
- другия вариант ако не стане с първото , пробвай да си направиш отделна променлива за вече обърнатото число (reversedN) и работи с нея надолу …
П.С
можеш да се ориентираш по типа грешка в ДЖЪЖД ако е IR (Invalid return) най - вероятно програмата ти е хвърлила exception и е по - скоро точка 1 , ако е WA (wrong answer) , по - вероятно точка 2 .
Поздрави и успех
Здравей, по условие имаш следното нещо:
“Пресмятат се частното и остатъка при деление на новополученото число на цялото положително число K”
Т.е. променливата divide да ти бъде така let divide = Math.floor(Number(N) / Number(K)) защото ние си нямаме целочислено делене by default
2 Likes
Мерси за бързите отговори!!! Нямаше да се сетя сам за решението.
Задачата мина като ползвах let divide = Math.floor(Number(N) / Number(K)) както предложи nikolayneykov92.
Бях малко изненадан че мина със Math.floor() но не минаваше със .toFixed(0) както и да опитвах.Явно не иска да закръгляме на цяло число а само да вземем цялото число от резултата.
console.log(Math.floor(99.8)); // returns 99
console.log((99.8).toFixed(0)); // returns 100
Мерси пак! Беше доста полезно!
@nikolayneykov92 Супер, както казах съм далеч от специалист в JS, беше полезно да науча че делението там не е цялочислено както в С#