Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Лёгкая задача на Питоне

Дефис Молодой Ученик (146), на голосовании 10 месяцев назад
При каком значении n результатом выполнения приведенной программы будет значение 64?
s = 50
x = 1
while s > 20:
s = s - n
x *= 2
print(x)
Голосование за лучший ответ
санта каспер Просветленный (42440) 11 месяцев назад
настолько тупой что легкое само решить не можешь?
Дефис МолодойУченик (146) 11 месяцев назад
Я изучать начал недавно, так что это для меня не лёгкое! Баклуша ты
Акк РиотГамес Ученик (124) 11 месяцев назад
Для того чтобы значение s уменьшилось с 50 до 20, т.е. на 30, n должно быть равно 6. При этом значение x будет увеличиваться вдвое, и после уменьшения значения s на 6 четыре раза (4*6=24), его остаток (50-24=26) также будет уменьшен на 6, в результате чего s достигнет 20.

После выполнения цикла значение x будет равно 2^4*1 = 16. Затем к нему прибавится 1, и в итоге получим 16+1 = 17.

При данном n (6) значение x после выполнения цикла останется равным 17. Если требуется, чтобы значение x стало равно 64, необходимо изменить условие остановки цикла (например, сделать его равным s<=20), и тогда значение n нужно подобрать таким образом, чтобы после выполнения цикла x стал равен 64.
Дефис МолодойУченик (146) 11 месяцев назад
Привет! У меня получилось 64 при значении n = 5. Это нормально всё?)
Nefertiti Знаток (422) 7 месяцев назад
Для того чтобы найти значение n, при котором результатом выполнения программы будет 64, мы должны решить уравнение, полученное из условия задачи.

Условие задачи:
s = 50
x = 1
while s > 20:
s = s - n
x *= 2
print(x)

Мы ищем n, при котором x = 64.

Уравнение, полученное из условия задачи:
s = 50 - n * k, где k - количество итераций цикла while
x = 2^k

Поскольку x = 64, то 2^k = 64. Из этого следует, что k = 6, так как 2^6 = 64.

Теперь подставим k = 6 в уравнение для s:
s = 50 - n * 6

Из условия задачи мы знаем, что s > 20, так что:
50 - n * 6 > 20

Решим это уравнение относительно n:
50 - 20 > n * 6
30 > 6n
n < 5

Таким образом, значение n должно быть меньше 5.

Теперь проверим, какое значение n дает результат 64:

Если n = 1, то x = 2^6 = 64, что соответствует условию задачи.

Таким образом, при n = 1 результатом выполнения программы будет значение 64.
Похожие вопросы