Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.92/12: Рейтинг темы: голосов - 12, средняя оценка - 4.92
Николай-1
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 1
1

Факториал

30.09.2013, 15:29. Просмотров 2181. Ответов 3
Метки нет (Все метки)

Помогите пожалуйста решить задачу! Не могу решить её при помощи длинной арифметики.

Требуется вычислить факториал целого числа N. Факториал обозначают как N! и вычисляют по формуле:
N! = 1 * 2 * 3 * … * (N-1) * N, причем 0! = 1.
Так же допустимо рекуррентное соотношение: N! = (N-1)! * N

Входные данные
В единственной строке входного файла INPUT.TXT записано одно целое неотрицательное число N (N < 1000).

Выходные данные
В выходной файл OUTPUT.TXT нужно вывести одно целое число — значение N!.

Примеры
№ INPUT.TXT OUTPUT.TXT
1 1 1
2 3 6
3 5 120
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2013, 15:29
Ответы с готовыми решениями:

Факториал
Здравствуйте,помогите пожалуйста написать программу.Напишите программу, которая...

Факториал
http://www.imget.ru/images/2011/03/13/VGeycteSZR.jpg с вчеряшнего вечера не...

факториал
найти факториал 6! pascal

Факториал
Подскажите как записать на паскале такое выражение (факториал) k(k-1)(k-2)!

Факториал
Всем прив!!! Помогите вычислить значение выражения y = (z! - a!)/(k-m)....

3
Bringoff
СуперМодулятор
133 / 132 / 48
Регистрация: 03.11.2012
Сообщений: 974
30.09.2013, 15:46 2
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Var a:array[1..100000000] of int64; 
 i,j,b,t,n:longint; 
 x:int64; 
 
 begin
 Assign(input,'input.txt'); 
 Assign(output,'output.txt'); 
 Reset(input); 
 Rewrite(output); 
 Read(n); 
 a[1]:=1; 
 t:=1; 
 b:=1; 
 for i:=1 to n do
 begin
 x:=0; 
 for j:=1 to t do
 begin
 x:=x+a[j]*b; 
 a[j]:=x mod 10; 
 x:=x div 10; 
 end; 
 while x>0 do
 begin
 inc(t); 
 a[t]:=x mod 10; 
 x:=x div 10; 
 end; 
 inc(b); 
 end; 
 Write(a[t]); 
 for i:=t-1 downto 1 do
 begin
 Write(a[i]); 
 end; 
 Close(input); 
 Close(output); 
 end.
1
Николай-1
0 / 0 / 0
Регистрация: 31.05.2015
Сообщений: 1
30.09.2013, 15:48 3
Спасибо огромное!!!!!!!!!!!!!
0
Drosya12
0 / 0 / 0
Регистрация: 22.10.2013
Сообщений: 61
19.11.2013, 23:51 4
Цитата Сообщение от Bringoff Посмотреть сообщение
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Var a:array[1..100000000] of int64; 
 i,j,b,t,n:longint; 
 x:int64; 
 
 begin
 Assign(input,'input.txt'); 
 Assign(output,'output.txt'); 
 Reset(input); 
 Rewrite(output); 
 Read(n); 
 a[1]:=1; 
 t:=1; 
 b:=1; 
 for i:=1 to n do
 begin
 x:=0; 
 for j:=1 to t do
 begin
 x:=x+a[j]*b; 
 a[j]:=x mod 10; 
 x:=x div 10; 
 end; 
 while x>0 do
 begin
 inc(t); 
 a[t]:=x mod 10; 
 x:=x div 10; 
 end; 
 inc(b); 
 end; 
 Write(a[t]); 
 for i:=t-1 downto 1 do
 begin
 Write(a[i]); 
 end; 
 Close(input); 
 Close(output); 
 end.

А для обратного факториала можете написать?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2013, 23:51

Факториал
Z=(m!-n!)/((m-n)!) надо решить в паскале абс

факториал
Написать программу вычисления 1000!.Примечание:сказали создать два массива.

Определить факториал.
Пожалуйста помогите. Написать нерекурсивные функцию, которая определяет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru