Вычислить n-ую сверхстепень двойки по модулю m - PascalABC.NET

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

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

Назовем значение выражения 22n n-ой сверхстепенью числа 2. Таким образом, например, третья сверхстепень числа 2 равна 223 = 28 = 256. Ваша задача – вычислить n-ую сверхстепень двойки по модулю m. Входные данные Входной файл INPUT.TXT содержит два целых числа: n (0 ≤ n ≤ 105) и m (2 ≤ m ≤ 104). Выходные данные В выходной файл OUTPUT.TXT выведите ответ на задачу.

Решение задачи: «Вычислить n-ую сверхстепень двойки по модулю m»

textual
Листинг программы
  1. begin
  2.   var n : Integer;
  3.   var m : Integer;
  4.   ReadLn(n, m);
  5.   var p := BigInteger.Pow(2, n);
  6.   var r := 1;
  7.   while BigInteger.Compare(p, 0) = 1 do
  8.     begin
  9.       p -= 1;
  10.       r := (r * 2) mod m;
  11.     end;
  12.   WriteLn(r);
  13. end.

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

  1. Введенные переменные:
    • n (номер переменной 1) - тип Integer (целое число), используется для хранения значения степени двойки.
    • m (номер переменной 2) - тип Integer (целое число), используется для хранения модуля, по которому вычисляется остаток от деления.
  2. Считывание значений переменных n и m с помощью функции ReadLn.
  3. Вычисление n-ой сверхстепени двойки с помощью функции BigInteger.Pow(2, n).
  4. Инициализация переменной r единицей.
  5. Запуск цикла while, который выполняется до тех пор, пока значение p не станет отрицательным.
    • Внутри цикла выполняется операция p -= 1, которая уменьшает значение p на единицу.
    • Вычисляется новое значение r с помощью выражения (r * 2) mod m.
  6. После окончания цикла выводится значение переменной r с помощью функции WriteLn.

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


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

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

10   голосов , оценка 4.1 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы