5314. 2^k + 2^n

 

Даны два различных числа k и n. Выведите значение 2k + 2n, используя только битовые операции.

 

Вход. Два различных числа k и n (0 ≤ k, n ≤ 30).

 

Выход. Выведите число 2k + 2n.

 

Пример входа

0 1

 

Пример выхода

3

 

 

РЕШЕНИЕ

элементарная задача – битовые операции

 

Анализ алгоритма

Значение 2k + 2n при заданных ограничениях помещается в целочисленный 32-битовый знаковый тип int. Известно, что степень двойки можно вычислить сдвигом влево: 2n = 1 << n. Используя сдвиг влево, вычисляем сумму 2k + 2n как (1 << k) + (1 << n).

 

Реализация алгоритма

Читаем входные данные. Вычисляем и выводим ответ.

 

scanf("%d %d",&k,&n);

res = (1 << k) + (1 << n);

printf("%d\n", res);

 

 

Python реализация

 

k,n = map(int,input().split())

res = (1 << k) + (1 << n)

print (res)