Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.09.2010, 19:56   #1
Ahellen
Новичок
Джуниор
 
Регистрация: 20.09.2010
Сообщений: 3
По умолчанию Рекурсивная функция в С++

Составить рекурсивную функцию для вычисления n!. И использовать её для вычисления 5! и 7!.
Ahellen вне форума Ответить с цитированием
Старый 20.09.2010, 20:05   #2
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

гуглом воспользуйся
rrrFer вне форума Ответить с цитированием
Старый 20.09.2010, 20:11   #3
Gambler
Игрок
Форумчанин
 
Аватар для Gambler
 
Регистрация: 29.10.2006
Сообщений: 367
По умолчанию

Код:
function fackt(X: integer):longint;
begin
  if X=1 then exit;
  result:=X*fackt(X-1);
end;
Помню это была первая проба рекурсии для меня.... Тогда мне было 14 лет и я учился в 9 классе.

P.S. Мог бы и на С++ написать, но надо же тебе хоть что то самому сделать.
Жизнь всегда игра. Но смерть - не всегда поражение.

#define true (Math.random()>0.5) //Удачной отладки
Gambler вне форума Ответить с цитированием
Старый 20.09.2010, 20:26   #4
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
P.S. Мог бы и на С++ написать, но надо же тебе хоть что то самому сделать.
тогда и я помогу на прологе вот:
Код:
predicates
    fact(integer,integer,integer)
clauses 
    fact(I,A,A):-
    I<2,!.
    fact(I,A,B):-
    II=I-1,AA=A*I,
    fact(II,AA,B).
goal
    fact(5,1,S1),write(S1),nl,fact(7,1,S2),write(S2),nl.
вообще факториал рекурсивно вычислять не правильно, но в прологе другого решения нету xD
rrrFer вне форума Ответить с цитированием
Старый 20.09.2010, 20:44   #5
Ahellen
Новичок
Джуниор
 
Регистрация: 20.09.2010
Сообщений: 3
По умолчанию

Странная запись, нифига не понимаю, но все равно спасибо.
Ahellen вне форума Ответить с цитированием
Старый 20.09.2010, 20:48   #6
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Цитата:
Сообщение от Ahellen Посмотреть сообщение
Странная запись, нифига не понимаю, но все равно спасибо.
Код:
#include <iostream>
using std::cin;
using std::cout;
using std::endl;
int fact(int n){
	if(n<2)
		return 1;
	return fact(n-1)*n;
}
int main(){
	cout<<fact(5)<<" "<<fact(7)<<endl;
	cin.get();
    return 0;
}
пожалуйста ))
rrrFer вне форума Ответить с цитированием
Старый 20.09.2010, 20:49   #7
Gambler
Игрок
Форумчанин
 
Аватар для Gambler
 
Регистрация: 29.10.2006
Сообщений: 367
По умолчанию

А это идея... Повод подтянуть другие языки. Все простые задачки писать на разных языках, кроме того, что требуется.
Жизнь всегда игра. Но смерть - не всегда поражение.

#define true (Math.random()>0.5) //Удачной отладки
Gambler вне форума Ответить с цитированием
Старый 20.09.2010, 20:58   #8
Ahellen
Новичок
Джуниор
 
Регистрация: 20.09.2010
Сообщений: 3
По умолчанию

Во. Эт другое дело, вроде разобрался. Спасибо))
Ahellen вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ Рекурсивная функция Trinity13 Помощь студентам 10 15.10.2017 13:21
рекурсивная функция)) vedro-compota Общие вопросы Delphi 8 16.04.2010 14:39
Рекурсивная функция Bernuar Помощь студентам 2 06.04.2010 10:07
Рекурсивная функция Trinity13 Помощь студентам 8 14.02.2010 18:44