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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2010, 13:12   #1
Sport
Пользователь
 
Регистрация: 27.10.2010
Сообщений: 12
По умолчанию Факториал !

Парни помогите пожалуйста!!
1)Для заданного целого n ≥ 0 вычислить:
( 2n )!! = 1•2•4•6•...• ( 2n ) ;

как будет выглядеть прога в паскале!!!!
спс заранее
Sport вне форума Ответить с цитированием
Старый 27.10.2010, 17:44   #2
__Demon__
Пользователь
 
Аватар для __Demon__
 
Регистрация: 13.08.2009
Сообщений: 37
По умолчанию

Вот функция на Си. Переделай её в Паскаль.

Код:
unsigned long factorial(unsigned long n)
{
	if (n == 1)
		return n;
	else
		return n * factorial(n / 2);
}
__Demon__ вне форума Ответить с цитированием
Старый 27.10.2010, 18:29   #3
Kingdom_Reborn
Форумчанин
 
Регистрация: 21.10.2010
Сообщений: 130
По умолчанию

На Лиспе без заморочек с длинной арифметикой
Код:
(defun _2N!! (n)
	(cond
		((eq n 0) 1)
		(t (* (_2N!! (- n 1)) 2 n))))
Kingdom_Reborn вне форума Ответить с цитированием
Старый 27.10.2010, 18:33   #4
Asnio
Новичок
Джуниор
 
Регистрация: 27.10.2010
Сообщений: 1
По умолчанию

отписал в другой теме

так?


Код:
program factorial;
var
i,f,n :integer;
begin
f:=1;
n:=2;

for i:=1 to 5 do
begin
f:=f*n;
n:=n+2;
end;

write('Factorial = ',f);
end.
Asnio вне форума Ответить с цитированием
Старый 27.10.2010, 18:36   #5
ROMA2PVT
ТАМБОВСКИЙ ВОЛК.
Участник клуба
 
Аватар для ROMA2PVT
 
Регистрация: 16.03.2010
Сообщений: 1,354
По умолчанию

Код:
var
i,n:integer;
fact,sum:real;
begin
repeat
readln(n);
until n>=0;
fact:=1;
for i:=1 to n do
begin
fact:=fact*(2*i);
end;
write('  ',fact,'  ');
end.
p.s:
Код:
var
i,n:integer;
fact,sum,k:real;
begin
repeat
readln(n);
until n>=0;
fact:=1;
k:=1;
for i:=1 to n do
begin
if i=1 then fact:=1
else
fact:=fact*((i-1)*2);
end;
write('  ',fact,'  ');
end.
にんじゃ

Последний раз редактировалось ROMA2PVT; 27.10.2010 в 19:24.
ROMA2PVT вне форума Ответить с цитированием
Старый 27.10.2010, 19:52   #6
LeBron
Форумчанин
 
Регистрация: 10.10.2009
Сообщений: 680
По умолчанию

Цитата:
Сообщение от __Demon__ Посмотреть сообщение
Вот функция на Си. Переделай её в Паскаль.

Код:
unsigned long factorial(unsigned long n)
{
	if (n == 1)
		return n;
	else
		return n * factorial(n / 2);
}
Неверно, кстати.
Надо рекурсивно вызывать факториал n-2, и тогда еще базу задать лучше n<2.
LeBron вне форума Ответить с цитированием
Старый 27.10.2010, 23:31   #7
__Demon__
Пользователь
 
Аватар для __Demon__
 
Регистрация: 13.08.2009
Сообщений: 37
По умолчанию

Да, виноват. Просто мне показалось вместо 1*2*4*6... 1*2*4*8...
__Demon__ вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Факториал Radiy Общие вопросы Delphi 5 02.07.2010 08:26
Факториал seredkin Microsoft Office Excel 4 03.06.2010 15:44
Факториал в C++ slog Помощь студентам 2 03.12.2008 07:56
Факториал Killbrum Софт 14 13.08.2008 00:34