Решение задачи Сверхстепень с Acmp

С пояснением   Просмотров: 191


Назовем значение выражения \( 2^{2^n} \) n-ой сверхстепенью числа 2. Таким образом, например, третья сверхстепень числа 2 равна \( 2^{2^3} \) = 28 = 256.

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

Код

#include <iostream>
 
using namespace std;
 
int main()
{
    long long n, m;
    cin >> n >> m;
    long long res = 2 % m;
    for(int i = 1; i <= n; ++i){
        res = (res * res) % m;
    }
    cout << res;
    return 0;
}

         

Администратор Photo Автор: Администратор


Код

n, m = map(int, input().split())
res = 2 % m
for i in range(n):
    res = (res * res) % m
print(res)

         

Администратор Photo Автор: Администратор


Достаточно разобраться с следующей формулой и вы всё поймёте.
\( 2^{2^n} * 2^{2^{n }} = 2^{2^{n + 1}}\)


Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться