Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Получить собственные делители числа, являющиеся простыми числами
Есть несколько вопросов. Первый - все ли правильно в этом коде, и если не все то что неправильно?
Второй - почему, кода я передаю в основную функцию дробное число, то она все равно ведет себя как с простыми числами? Например, передал в функцию число 23,25 а функция возвращает массив с делителями 1 и 23.
Третий - например возьмем число 12. Функция выдаст массив с числами 1,2,3. Куда подевались 6 и 12? Если же возьмем число 19 - то массив будет из чисел 1 и 19. Почему так происходит?
don.bidon
Отправлено: 07 Сентября, 2021 - 19:17:07
Гость
Покинул форум
Сообщений всего: 78
Дата рег-ции: Март 2019
Помог: 2 раз(а)
Код не читал Ваш, ломы.
2) проверяйте на входе, что пришло целое число, иначе выдавайте ошибку, на простые множители раскладываются только целые числа;
3) 6 и 12 не простые числа, что у Вас в голове? Сначала теория, потом практика, не?
Mandalorian
Отправлено: 07 Сентября, 2021 - 20:19:08
Новичок
Покинул форум
Сообщений всего: 16
Дата рег-ции: Сент. 2021
Помог: 0 раз(а)
По поводу простых чисел прочитал, спасибо. Почему-то думал, что знаю что это. Оказывается, совсем не то)
Собственно, второй вопрос отпал теперь.
don.bidon
Отправлено: 08 Сентября, 2021 - 05:29:13
Гость
Покинул форум
Сообщений всего: 78
Дата рег-ции: Март 2019
Помог: 2 раз(а)
К коду претензий нет (всё равно глубоко не врубался, да и не помню, чтобы в юности такой алгоритм реализовывал), но по оформлению кода рекомендую придерживаться https://svyatoslav[dot]biz/misc/psr_[dot][dot][dot]nslation/#_PSR-2
Ну и отступ 4 пробела общепринят для PHP.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.