![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 22.11.2007
Сообщений: 224
|
![]()
"Натуральное число называют совершенным, если оно равно сумме своих простых делителей, не считая его самого (например, 6=1+2+3 --соверешнное число*). Составьте алгоритм, проверяющий, является ли введённое число совершенным"
*задачка из довольно-таки старого учебника, в настоящее время 1 не считается простым числом. Это задачка в целом. Просьба у меня может не совсем обычная-- я не прошу дать мне код программы, я прошу помочь мне разобраться. Итак, если разбивать программу на этапы то их получится 3: 1) Раскладываем число на простые делители. 2) Суммируем простые делители. 3) Сравниваем получившуюся сумму и заданное число. Натолкните меня, пожалуйста, на мысль--каким образом можно разложить число на простые делители? Для этого нам потребуется сначала сгенерировать простые числа в диапазоне [2..n], где n-- заданное число. Каким образом их можно сгенерировать? Если можно, не код программы, а мысль ) |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
1. Действительно, сначала нужно найти все простые чичла от 2 до n, хотя можно и чуть меньше, т.к. если мы например задали число 6 то сумма первых 6 простых чисел равна 29 (включая единицу). Решение этой задачи явидел пару раз на форуме и почти во всех учебниках.
2. В цикле типа Код:
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 11.11.2007
Сообщений: 136
|
![]()
в общем простое число у которого два делителя: единица и оно само!
Код:
ICQ - 446037211
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 22.11.2007
Сообщений: 224
|
![]()
спасибо, разобрался.
Но есть 1 нюанс: В википедии написано что совершенное число состоит из суммы своих делителей(не важно,простые они или нет). В задаче же указано, что делители должны быть простыми числами. Я решил согласиться с википедией( кода меньше строчек на 10): Код:
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
нахождение суммы четных чисел в массиве | Ci_novice | Общие вопросы C/C++ | 1 | 23.12.2007 12:11 |
задача:Паскаль и ряд чисел Фибоначчи | SEREG@ | Помощь студентам | 20 | 16.12.2007 20:05 |
нахождение полных чисел | Juhn | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 09.12.2007 13:14 |
Нахождение подпапок. Паскаль | NikLik | Помощь студентам | 0 | 25.11.2007 21:51 |
Нахождение чисел в таблице базы данных на Delphi!, Помогите пожалуй | Рина | БД в Delphi | 0 | 13.03.2007 19:21 |