М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
kosikoffpasha
kosikoffpasha
29.11.2022 16:52 •  Информатика

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

👇
Ответ:
Табалаев
Табалаев
29.11.2022
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. 
4,5(41 оценок)
Ответ:
ManemiDragnil
ManemiDragnil
29.11.2022
Решение только для 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
4,7(17 оценок)
Открыть все ответы
Ответ:
Amina1225
Amina1225
29.11.2022
#include <iostream>
using namespace std;
int main()
{
    int n, m, c;
    cout << "n = ";
    cin >> n;
    cout << "m = ";
    cin >> m;
    int a[n][m];
    for(int i = 0; i < n; i++)
    {
        cout << "Введите " << i + 1 << " рядок матрицы (" << m << " элементов) через пробел" << endl;
        for(int j = 0; j < m; j++)
        {
            cin >> a[i][j];
            if(a[i][j] % 2 == 1)
            {
                c++;
            }
        }
    }
    cout << "Количество нечетных элементов массива равно " << c;
}

#include <iostream>
using namespace std;
int main()
{
    int n, mi = 0, mj = 0, sum = 0;
    cout << "n = ";
    cin >> n;
    int a[n][n];
    for(int i = 0; i < n; i++)
    {
        cout << "Введите " << i + 1 << " рядок матрицы (" << n << " элементов) через пробел" << endl;
        for(int j = 0; j < n; j++)
        {
            cin >> a[i][j];
            if(a[i][j] < a[mi][mj])
            {
                mi = i;
                mj = j;
            }
        }
    }
    for (int j = 0; j < n; j++) 
   {
        sum += a[mi][j];
    }
    cout << "Сумма элементов рядка с минимальным элементом равна " << sum;
}
4,6(46 оценок)
Ответ:
var
X: array [1..10] of integer;
a,s,i: integer;
begin
randomize;
write('Хотите заполнить массив самостоятельно? (1) Или автоматически? (2)');
readln(s);
case s of
  1: begin
     writeln('Введите 10 элементов массива: ');
     for i:= 1 to 10 do readln(X[i]);
     a:=X[1];
      for i:= 1 to 10 do
       if a < X[i] then a:=X[i];
     writeln('Максимальный элемент: ',a);
     end;
 2: begin
     writeln('Массив: ');
     for i:= 1 to 10 do
     begin
      X[i]:=random(101);
      write(X[i]:4);
     end;
    writeln;
    a:=X[1];
     for i:= 1 to 10 do
       if a < X[i] then a:=X[i];
     writeln('Максимальный элемент: ',a);
     end;
  end;
end.     
4,4(80 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ