Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.70/83: Рейтинг темы: голосов - 83, средняя оценка - 4.70
20 / 20 / 12
Регистрация: 07.02.2011
Сообщений: 82
1

Факториал числа

08.02.2011, 13:31. Просмотров 17232. Ответов 7
Метки нет (Все метки)

Написал программу, которая считает факториал числа.
Но считает она до максимального значения типа REAL. Как сделать, чтобы считался факториал для любого числа? (С массивами пока не знаком.)

Код
Program Factorial;
uses crt;

var a, n:integer;
    fc: real;
begin
clrscr;
fc:=1;
writeln('Введите число, факториал которого нужно узнать!');
readln(n);
for a:=1 to n do
begin
fc:=fc*a;
end;

if n = 0 then
WriteLn('0! = 1');

if a = n then
WriteLn(n,'! = ',fc);
exit;
end.
Кто может помочь с решением проблемы? И можно ли решить без массивов?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.02.2011, 13:31
Ответы с готовыми решениями:

Определить во сколько раз факториал числа n! больше факториала числа m!
Определить во сколько раз факториал числа n! больше факториала числа m!

Определить во сколько раз факториал числа n больше числа m
Определить во сколько раз факториал числа n больше числа m

Факториал числа
Скажи пожалуйста, существуют ли ещё способы нахождения n! в Pascal, кроме самого простого var...

Определить факториал числа
Определить факториал числа n!

7
3 / 3 / 0
Регистрация: 01.12.2010
Сообщений: 81
08.02.2011, 13:57 2
Pascal
1
2
3
4
repeat 
 r:=r+1;:=*r;
until
0
20 / 20 / 12
Регистрация: 07.02.2011
Сообщений: 82
08.02.2011, 18:38  [ТС] 3
Цитата Сообщение от Доминишинг Посмотреть сообщение
Pascal
1
2
3
4
repeat 
 r:=r+1;:=*r;
until
Вы тему читали? Да ещё и советы кое-какие даёте.
0
Модератор
62234 / 46525 / 32074
Регистрация: 18.05.2008
Сообщений: 112,460
08.02.2011, 19:08 4
Цитата Сообщение от VakhramoV Посмотреть сообщение
С массивами пока не знаком.)
тогда в АВС это предел, в других Паскалях еще можно до extended, иначе только длинная арифметика, а там массивы...
0
20 / 20 / 12
Регистрация: 07.02.2011
Сообщений: 82
08.02.2011, 19:41  [ТС] 5
Цитата Сообщение от Puporev Посмотреть сообщение
тогда в АВС это предел, в других Паскалях еще можно до extended, иначе только длинная арифметика, а там массивы...
Всё понятно, а я удивлялся, почему нет extended в паскале?) На делфи у меня крупные числа были в extended.
А есть люди добрые, которые могут пример с массивами скинуть?
0
Модератор
62234 / 46525 / 32074
Регистрация: 18.05.2008
Сообщений: 112,460
08.02.2011, 19:47 6
Стандартные операции с массивами (матрицами)
2
0 / 0 / 0
Регистрация: 12.11.2016
Сообщений: 1
12.11.2016, 23:40 7
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
Uses CRT;
var n:word;
    m, cnk, fac1, fac2, fac100:BigInteger;
    
  Function Factor(const n:word):BigInteger;
  var fct:BigInteger;
  begin
    fct:=1;
    for var i:=2 to n do
      fct:=fct*i;
    Factor:=fct;
   end;
 
begin
  m:=0;
  n:=100;
  WriteLn('n = ',n);
  fac100:=Factor(n);
  WriteLn('n! = ',fac100);
  for var k:=1 to n do
    begin
      Write('k = ',k:2);   
      fac1:=Factor(k);
      fac2:=Factor(n-k);
      cnk:=fac100/(fac1*fac2);
      WriteLn('   Cnk = ',cnk);
      m:=m+cnk;
     end;
  WriteLn;
  WriteLn('Result: ',m);
end.


Считает сумму числа сочетаний, из этого можно и про факториалы извлечь.
Программа авторская.
0
0 / 0 / 0
Регистрация: 24.11.2018
Сообщений: 15
03.12.2018, 20:06 8
что означает"cnk" ?

Добавлено через 1 минуту
ЯСеньПень, что означает "cnk" ?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.12.2018, 20:06

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Найти факториал числа
Пользователь вводит натуральное число. Найти факториал числа. Использовать процедуры или функции

Найти факториал числа N
Помогите пожалуйста, очень нужно, заранее благодарю! Операторы цикла 15. Найти факториал числа N.

Найти факториал числа N
Ввести N различных чисел. Найти N!.Помогите плиз

Факториал числа в процедурах
Пользователь вводит натуральное число. Требуется найти факториал введенного числа, при условии что...


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

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

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