1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| Игорь |
Сообщение
#1
|
|
Гость |
Помогите пожалуйста с задачей:
Определить, является ли заданное натуральное число совершенным, т.е. Равным сумме всех своих (положительных) делителей, кроме самого этого числа (напр. Число 6 совершенно: 6=1+2+3). |
![]() ![]() |
| xds |
Сообщение
#2
|
![]() N337 ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 737 Пол: Мужской Репутация: 26 |
Решение "в лоб" для n = 33550336 уже немного задумывается. Слегка оптимизируем:
Код program PerfNum; label Cont; var n, l, r, d, s: LongInt; begin Write('n>'); Readln(n); l := 1; r := n div 2; s := 1; while l < r do begin for d := l + 1 to r - 1 do if n mod d = 0 then begin l := d; r := n div d; if l = r then Inc(s, l) else Inc(s, l + r); goto Cont; end; Break; Cont: end; if (n <> 1) and (s = n) then Writeln('Число ', n, ' - совершенное') else Writeln('Число ', n, ' не является совершенным'); end. Сообщение отредактировано: xds - -------------------- The idiots are winning.
|
Игорь Математическая задача 15.10.2004 18:49
volvo Если "в лоб" -
Var
i, n: LongInt;
… 15.10.2004 19:56
Игорь Большое спасибо! А как по этому составить flow… 15.10.2004 20:26
xds Впрочем, если n типа LongInt, то почему бы не так:… 16.10.2004 6:37
Caries
Вопрос: вот в некоторых книгах пишут что goto ис… 22.11.2004 19:59
Флогримм
не рекомендуется использовать сложные, запутанные… 23.11.2004 10:22
Altair Нет, или мы пишем код на Паскале, по принципу стру… 23.11.2004 12:33
Caries Та же программа. Но с условием поиска совершенного… 15.12.2004 20:56
Caries неужели никто не знает? 16.12.2004 13:01
FreeMan В цикле дели на 10 и выводи остаток от деления
whi… 16.12.2004 20:34
Гость_Caries Можно поподробнее? 16.12.2004 21:12
FreeMan Program semestr;
var i,n,s,z:Integer;
begin
writel… 16.12.2004 21:20
Caies Закомпилил. Выдает чепуху при вводе напрример 8 вы… 16.12.2004 21:42
Гость_Caries Может я просто неграмотно описал то что требуется?… 16.12.2004 21:44
FreeMan замени
while s<>0 do begin
writeln(s mod 10… 16.12.2004 21:58
Guest Млин. При 6 все нормально выдает 1 2 3
если вводи… 16.12.2004 22:07
volvo Guest
Попробуй вот так:
Program semestr;
var i,n,… 16.12.2004 23:09![]() ![]() |
|
Текстовая версия | 14.12.2025 4:00 |