Привет, мой преподаватель не смог объяснить, почему эта функция на perl считает 4 и 9 простыми числами. Больше она не ошибается, только 4 и 9. sub is_prime{$i=2;while ($i<sqrt($_[0])){ if (!($_[0]%$i)){return 0;}else {$i++;}}return 1;}
Привет, мой преподаватель не смог объяснить, почему эта функция на perl считает 4 и 9 простыми числами. Больше она не ошибается, только 4 и 9.
sub is_prime{$i=2;while ($i<sqrt($_[0])){ if (!($_[0]%$i)){return 0;}else {$i++;}}return 1;}
Блядь, это же ёбаный пиздец, а не язык. Поскорее бы он умер окончательно.По сути вопроса: ты не прав, говоря что функция ошибается только на 4 и 9. Мне лень проверять, но готов поспорить, что она будет считать простыми также 25, 49, 121 ... Продолжи последовательность сам, и подумай над ответом на свой вопрос.Олсо, в вашем перле, что, отладчика нет?
Блядь, это же ёбаный пиздец, а не язык. Поскорее бы он умер окончательно.
По сути вопроса: ты не прав, говоря что функция ошибается только на 4 и 9. Мне лень проверять, но готов поспорить, что она будет считать простыми также 25, 49, 121 ...
Продолжи последовательность сам, и подумай над ответом на свой вопрос.
Олсо, в вашем перле, что, отладчика нет?
Я-то подумал, в понедельник объясню ему (меньше или равно). А что не так с языком?
>>774 мертворожденное говно.смотри http://ru.wikipedia.org/wiki/%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B5_%D1%87%D0%B8%D1%81%D0%BB%D0%BE, ты по ходу не понимаешь что вообще надо получить
Получать ничего не надо, надо вернуть 1 если число простое, 0 в остальных случае. Почему мертворожденный?
>>777 перрла незнаю, но походу замени "sqrt($[0])" на "$[0]/2" и все будет в шоколаде
>>781Ты тупой говнюк, из >>774 очевидно, что ОП уже починил свой код. С идеями типа менять sqrt на /2 займись лепкой супов.
bool simple(int n) { for (int i = 2; i <= Math.Sqrt(n); i++) if ((n % i) == 0) return false; return true; }
Ты должен считать до корня включительно, это же очевидно! Замени < на <=, птушник.
>>789 - >>782 - >>774
- wakaba 3.0.8 + futaba + futallaby -