|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
|
Опции темы | Опции просмотра |
20.05.2012, 18:21 | #1 (permalink) |
Member
Регистрация: 20.05.2012
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Целое натуральное, рекурсия, Паскаль
Задано целое натуральное число, определить является ли оно факториал числа n, чему равна n. Использовать рекурсивную функцию вычисления факториала |
20.05.2012, 18:21 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Довольно частая проблема, нашлись похожие темы PascalABC. Дано целое число N (> 0) и символ C Паскаль Turbo Pascal 8, дано натуральное число n |
21.05.2012, 09:36 | #2 (permalink) |
Студент БГПУ
Регистрация: 06.02.2010
Сообщений: 420
Записей в дневнике: 3
Сказал(а) спасибо: 1
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 470
|
вот как-то так:
Код:
var a:integer; function fact(b:integer):integer; var c:longint; i:integer; begin c:=1; for i:=2 to b do begin c:=c*i; if c=b then break; fact:=i+1; end; end; begin writeln ('Input the number'); readln (a); writeln (a,' - fact - ',fact(a)); readln end. |
21.05.2012, 10:27 | #3 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Не, Миш - не пойдёт. Тут фишка в том, что требуется рекурсивная функция, т.е. такая, которая из себя сама себя вызывает. Типа такой:
Код:
Function factorial(n:integer): Longint; Begin If n=0 then factorial:=1 else factorial:=factorial(n-1)*n; End; |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
Опции темы | |
Опции просмотра | |
|
|