ninaandreeva3179
?>

Написать программу, которая присваивает 1 переменное значение и выводит его на экран

Информатика

Ответы

fishka-sokol14

a = input()

print(a)

bal4shovser16

22

Объяснение:

Понятно, что каждая из команд может только увеличить число.

У нас обязательно есть число 16, из него есть два пути:

1. сделать +1

2. сделать x2

Если мы сделаем +1, то после этого уже точно не сможем сделать x2, т.к. 17 x 2 =  34, а 34 > 33, а уменьшить число мы не сможем. Если мы будем делать постоянно +1, то мы точно пройдём через 30.

Значит не нужно делать +1, когда мы на числе 16, а надо делать x2.

Следовательно, концовка у нас точно будет такая 16 -> 32 -> 33.

Теперь надо посчитать, сколько различных получить 16 из 2. К любому такому мы допишем нашу концовку и получим программу подходящую под наши условия, и к тому же все программы, подходящие под данные условия, выглядят именно так.

Считать сколькими можно получить 16 из 2 будет динамическим программированием.

ans[i] - количество различных программ, которые получают i из 2.

Очевидно, ans[2] = 1 (пустая программа).

ans[3] = 1 (нужно сделать +1)

ans[4] = ans[3] + ans[2] = 2 (можно сделать +1 к 3, а можно x2 к 2)

Далее вычисления всегда следующие:

ans[i] = ans[i - 1] + ans[i / 2] для чётных i (можно либо добавить +1 к числу i - 1, либо сделать x2 для числа i / 2)

ans[i] = ans[i - 1] для нечётных i (можно получить только путём добавления +1 к числу i - 1)

Итак, считаем:

ans[2] = 1

ans[3] = ans[2] = 1

ans[4] = ans[3] + ans[2] = 2

ans[5] = ans[4] = 2

ans[6] = ans[5] + ans[3] = 4

ans[7] = ans[6] = 4

ans[8] = ans[7] + ans[4] = 6

ans[9] = ans[8] = 6

ans[10] = ans[9] + ans[5] = 8

ans[11] = ans[10] = 8

ans[12] = ans[11] + ans[6] = 12

ans[13] = ans[12] = 12

ans[14] = ans[13] + ans[7] = 16

ans[15] = ans[14] = 16

ans[16] = ans[15] + ans[8] = 22

Значит 16 из 2 можно получить И столькими же можно получить 33 из 2 выполняя условия задачи.

Лихачев Полина1978
Задание №1.

k = int(input('Начало диапазона '))
n = int(input('Конец диапазона '))
a = [0] * n # создание массива с n количеством элементов
for i in range(n): # заполнение массива
   a[i] = i
a[1] = 0

m = 2 # замена на 0 начинается с 3-го элемента

while m < n: # перебор всех элементов до заданного числа
  if a[m] != 0:
     j = m * 2
    while j < n:
        a[j] = 0
        j = j + m
       m += 1

# вывод простых чисел на экран
b = []
for i in a:
      if a[i] != 0 and i >= k:
      b.append(a[i])

del a
print(b)

Задание №2

count = 0
for i in range(13):
    for j in range(11):
        for k in range(9):
            if 185 == i*15+j*17+k*21:
                count += 1
                print(i,j,k)
print('Всего

Задание №3

x = int(input())
print('\n'.join(
str(n) for n in range(x+1)
if all(x != 0 and n % x == 0 for x in map(int, str(n

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Написать программу, которая присваивает 1 переменное значение и выводит его на экран
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Latsukirina
opel81
muravlev2702
Коновалова
yfetyukov2
rosik76
armentamada1906
Igorevich_Aleksandrovna1599
Краева
Mikhail1369
Лихачев Полина1978
Николаевич-Анатольевич599
gumirovane2294
Павел_Перелыгин
ermisyareg436