нахождение полных чисел, написание программы |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
нахождение полных чисел, написание программы |
-Artur- |
Сообщение
#1
|
Гость |
Доброго времени суток !
Срочно нужна помощь. Задача: Полные числа - это такие числа которые равны всем своим делителям (за исключением самого себя). Пример: 6=3+2+1 (6 делится на 3, 2 и 1). Найти все полные числа от 1 до 10000. Ответы даны: 6, 28, 496, 8128. Не имею представления как написать такую программу в паскале, что бы она нашла эти числа. Помогите пожалуйста, буду очень благодарен. Заранее спасибо ! |
-Artur- |
Сообщение
#2
|
Гость |
Спасибо volvo, очень помогло.
использовал эту программу: Var I,N,Summa: LongInt; Delitel: Integer; Begin For I := 1 To 10000 Do Begin Summa := 1; For Delitel := 2 To Trunc(Sqrt(I)) Do Begin N := (I Div Delitel); If N * Delitel = I Then Summa := Summa + Delitel + (I Div Delitel); End; If Int(Sqrt(I)) = Sqrt(I) Then Summa := Summa - Trunc(Sqrt(I)); If I = Summa Then WriteLn(I, ' - ', Summa); End; End. Программа показывает числа так: 6 - 6 28 - 28 496 - 496 8128 - 8128 Можно ли сделать что бы эти числа писались 1 раз, а не 2 раза через дефиз ? (А то учитель может придраться :D ) И после этого выйти из программы нельзя. Прописал в конце readln; не помогло. И последнее, к программе мне нужно написать описание каждой строчки, тоесть что каждая строчка выпоняет (описать эти команды). Ну строки var, begin, и end я описать могу :D А вот во всех формулах и кодах которые тут присутствуют я не шарю. Может кто - то поможет? А то без описания строк работу не примут. :/ P.S volvo пробывал использовать твою программу (то что добавлено), там и строки описаны, но она у меня не работает. Хотя я просто скопировал всю программу от начала до конца, может чего лишнего взял (так как не понимаю толком ) |
Текстовая версия | 19.04.2024 19:02 |