IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> нахождение полных чисел, написание программы
-Artur-
сообщение 9.12.2007 2:23
Сообщение #1


Гость






Доброго времени суток !
Срочно нужна помощь.
Задача: Полные числа - это такие числа которые равны всем своим делителям (за исключением самого себя). Пример: 6=3+2+1 (6 делится на 3, 2 и 1). Найти все полные числа от 1 до 10000. Ответы даны: 6, 28, 496, 8128.
Не имею представления как написать такую программу в паскале, что бы она нашла эти числа.
Помогите пожалуйста, буду очень благодарен.
Заранее спасибо ! smile.gif
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
-Artur-
сообщение 9.12.2007 2:56
Сообщение #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 пробывал использовать твою программу (то что добавлено), там и строки описаны, но она у меня не работает. Хотя я просто скопировал всю программу от начала до конца, может чего лишнего взял (так как не понимаю толком smile.gif )
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 14:25
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"