Цикл с предусловием (питон)
На вход программе подаётся натуральное число N. Напишите программу, которая вычисляет и выводит на экран N первых степеней числа 2 в порядке возрастания. Придерживайтесь формата «2 ** 10 = 1024».
Формат входных данных
На вход программе подаётся натуральное число N.
Формат выходных данных
N строк - степени двойки от 1 до N включительно в формате «2 ** 10 = 1024»
Sample Input 1:
4
Sample Output 1:
2 ** 1 = 2
2 ** 2 = 4
2 ** 3 = 8
2 ** 4 = 16
Sample Input 2:
10
Sample Output 2:
2 ** 1 = 2
2 ** 2 = 4
2 ** 3 = 8
2 ** 4 = 16
2 ** 5 = 32
2 ** 6 = 64
2 ** 7 = 128
2 ** 8 = 256
2 ** 9 = 512
2 ** 10 = 1024
n = int(input())
i = 1
while n >= 2**i:
i += 1
print((i-1), 2**(i-1))
Ответы (2 шт):
Автор решения: Shamus Rezol
→ Ссылка
for power in range(1, 10 + 1):
print(f"{N} ** {power} = {N ** power}")
Автор решения: TigerTV.ru
→ Ссылка
Еще вариант:
from itertools import accumulate, repeat
n = 10
a = 2
for k, v in enumerate(accumulate(repeat(a, n), lambda x, y: x*y)):
print(a, "**", k+1, "=", v)
Bторой:
n = 10
p = 1
i = 0
a = 2
while i < n:
p *= a
i += 1
print(a, "**", i , "=", p)
Третий:
n = 10
p = 1
i = 0
for i in range(1, n+1):
p <<= 1
print("2 **", i , "=", p)