![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
sqrt |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Репутация: ![]() ![]() ![]() |
Требуется найти факториалы всех чисел от 1 до 100. Стандартный цикл не канает, т.к. в longint не влезет факториал ста... Есть подозрение что это можно реализовать рекурсией, но как? Что делать???
|
![]() ![]() |
sqrt |
![]()
Сообщение
#2
|
Группа: Пользователи Сообщений: 7 Пол: Мужской Репутация: ![]() ![]() ![]() |
Люди! Что я неправильно делаю? Подскажите, плиз...
Код program factorial; const _md=1000; _osn=10000; type t_long=array[0.._md] of integer; p_long=^t_long; var a,c:p_long; i,k:integer; begin a^[0]:=1; a^[1]:=1; for k:=1 to 15 do begin write(k, ' => '); for i:=1 to a^[0] do begin c^[i+1]:=(longint(a^[i])*k+c^[i]) div _osn; c^[i]:=(longint(a^[i])*k+c^[i]) mod _osn; end; if c^[a^[0]+1]>0 then c^[0]:=a^[0]+1 else c^[0]:=a^[0]; for i:=0 to c^[0]+1 do begin a^[i]:=c^[i]; write(a^[i]); end; writeln(''); end; readln(i); end. пытаюсь найти факториалы от 1цы до 15 - нифига неправильно ![]() Сообщение отредактировано: sqrt - 21.12.2004 12:50 |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 17:33 |