100 факториалов - 2 в степени 100 - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

написать программу которая вычисляет:100 факториалов - 2 в степени 100 100!-2100

Решение задачи: «100 факториалов - 2 в степени 100»

textual
Листинг программы
{ программа вычисляет 2 в степени d. }
 
uses crt; 
var
  A, B: array[0..100000]of integer;       
  j, K, i, c, D, N, M: integer;
 
begin
  //clrscr;
  write('Введите показатель степени:  ');
  read(D);
  A[1] := 1;
  M := 1;
  N := D;
  for j := 1 to N do
  begin
    c := 0;
    for i := M downto 1 do
    begin
      B[i] := (2 * A[i] + c) mod 10; c := (2 * A[i] + c) div 10;
    end;
    if c > 0 then
    begin
      A[1] := c;
      for i := 1 to M do A[i + 1] := B[i]; 
      inc(M);
    end
    else
    for i := 1 to M do A[i] := B[i];
  end;
  writeln;
  writeln('  2 в степени ', D, ':');
  for i := 1 to M do write(A[i]);
  writeln;
  writeln;
  writeln('Количество цифр числа: ', M);
  writeln;
  textcolor(red);
  readln;
end.

Объяснение кода листинга программы

{ Программа вычисляет 2 в степени d. } Используется:

  • crt (библиотека встроенных функций)
  • A, B: массивы целых чисел (максимальное количество элементов - 100000)
  • j, K, i, c, D, N, M: целые числа Код:
    1. Запрашивается показатель степени от пользователя.
    2. Создаются два массива A и B, заполняемые значениями 1.
    3. Создаются три переменные j, K и i, и инициализируются значением 1.
    4. Создается переменная c и инициализируется значением 0.
    5. В цикле от 1 до N (переменная N устанавливается равной D) выполняется следующая последовательность действий:
      • c инициализируется значением 0.
      • В цикле от M до 1 (переменная M устанавливается равной D) выполняется следующая последовательность действий:
      • B[i] инициализируется значением (2 A[i] + c) mod 10; c инициализируется значением (2 A[i] + c) div 10;
      • Если c больше 0, то:
        • A[1] инициализируется значением c;
        • Для i от 1 до M (переменная M устанавливается равной D) значение A[i + 1] устанавливается равным B[i];
        • Инкрементируется значение M.
      • Если c меньше или равно 0, то:
        • Для i от 1 до M (переменная M устанавливается равной D) значение A[i] устанавливается равным B[i].
    6. Выводится сообщение с результатом вычисления 2 в степени d.
    7. Выводится сообщение с количеством цифр числа.
    8. Выводится сообщение с текстом цвета фона.
    9. Запрашивается ввод с клавиатуры для завершения работы программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.6 из 5
Похожие ответы