4₁₀ = 1*2² = 100₂
8₁₀ = 1*2³ = 1000₂
16₁₀ = 1*2⁴ = 10000₂
32₁₀ = 1*2⁵ = 100000₂
64₁₀ = 1*2⁶ = 1000000₂
5₁₀ = 1*2⁰ + 1*2² = 101₂
10₁₀ = 1*2¹ + 1*2³ = 1010₂
20₁₀ = 1*2² + 1*2⁴ = 10100₂
40₁₀ = 1*2³ + 1*2⁵ = 101000₂
Объяснение:
4₁₀ = 0*2⁰ + 0*2¹ + 1*2² = 100₂
8₁₀ = 0*2⁰ + 0*2¹ + 0*2² + 1*2³ = 1000₂
16₁₀ = 0*2⁰ + 0*2¹ + 0*2² + 0*2³ + 1*2⁴ = 10000₂
32₁₀ = 0*2⁰ + 0*2¹ + 0*2² + 0*2³ + 0*2⁴ + 1*2⁵ = 100000₂
64₁₀ = 0*2⁰ + 0*2¹ + 0*2² + 0*2³ + 0*2⁴ + 0*2⁵ + 1*2⁶ = 1000000₂
5₁₀ = 1*2⁰ + 0*2¹ + 1*2² = 101₂
10₁₀ = 0*2⁰ + 1*2¹ + 0*2² + 1*2³ = 1010₂
20₁₀ = 0*2⁰ + 0*2¹ + 1*2² + 0*2³ + 1*2⁴ = 10100₂
40₁₀ = 0*2⁰ + 0*2¹ + 0*2² + 1*2³ + 0*2⁴ + 1*2⁵ = 101000₂
Вот код (но лучше с PasteBin'a скопируй: https://pastebin.com/rTP8jeJ5)
import random
import operator
n = int(input("Введите число N: ")) # спрашиваем у пользователя число N
my_dict = dict() # создаём наш словарь
for key in range(1, n + 1): # перебираем все числа от 1 до n (включительно) - это будут будущие ключи словаря,
my_dict[key] = random.randint(1, 1000) # и присваиваем им случайные значения от 1 до 1000 (включительно)
# Выводим три наибольших значения
print("Три наибольших значения:")
top3 = sorted(my_dict.items(), key=operator.itemgetter(1), reverse=True)[:3] # отбираем ТОП-3 элемента
for elem in top3: # и каждый из них
print(": ".join(map(str, elem))) # выводим на экран