В
Все
У
Українська література
Г
Геометрия
Д
Другие предметы
Э
Экономика
Г
География
О
ОБЖ
М
Математика
М
МХК
Х
Химия
Қ
Қазақ тiлi
Л
Литература
У
Українська мова
О
Обществознание
Ф
Физика
А
Английский язык
А
Алгебра
И
История
Б
Беларуская мова
Б
Биология
М
Музыка
П
Право
И
Информатика
П
Психология
В
Видео-ответы
Н
Немецкий язык
Ф
Французский язык
О
Окружающий мир
Р
Русский язык
пидрила5
пидрила5
11.11.2022 18:22 •  Информатика

Вычислить факториал числа n (n! ) . (прим: 5! =1*2*3*4*5)

Ответ:
pka004
pka004
02.10.2020 14:58
Const    len = 1000;

type
    longnum = array[1..len] of longint;

var
      n, i: longint;
      s: longnum;
    
procedure InitLongNumber(n: longint; var a: longnum);
var
    i: longint;
begin
    for i := 1 to len do
        if n <> 0 then
            begin
                a[i] := n mod 10;
                n := n div 10
             end else
                a[i] := 0;
end;

function mul(a: longnum; k: longint): longnum;
var
    i, tmp: longint;
begin
    tmp := 0;
    
    for i := 1 to len - 1 do
    begin
        a[i] := a[i] * k + tmp;
        tmp := a[i] div 10;
        a[i] := a[i] mod 10 
    end;

    result := a
end;

procedure PrintLongNumber(a: longnum);
var
    i, j: longint;
begin
    i := len;
    while a[i] = 0 do
        dec(i);
    for j := i downto 1 do
        write(a[j])
end;

begin   
    readln(n);
    InitLongNumber(1, s);
    for i := 1 to n do
            s := mul(s, i);
    write(n, '! = ');
    PrintLongNumber(s);
end. 
0,0(0 оценок)
Ответ:
Vasulivna123
Vasulivna123
02.10.2020 14:58
Решение только для PascalABC.Net:

uses System.Numerics;
var
  n,i:integer;
begin
  Write('Введите натуральное число: '); Read(n);
  var f:=new BigInteger(1);
  for i:=2 to n do f:=f*i;
  Writeln(n,'! = ',f);
end.

Тестовое решение:
Введите натуральное число: 50
50! = 30414093201713378043612608166064768844377641568960512000000000000
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?