Найти - Пользователи
Полная версия: Как в цикле фор возвращаться к последнему подсчитаному числу?
Начало » Центр помощи » Как в цикле фор возвращаться к последнему подсчитаному числу?
1
Lena13_08
Моя задача состоит в том чтобы сгенерировать список чисел от одного данного числа:
Если число чётное(m):
—m/2
Если нечётное:
—3*m+1
Это число добавляем в список.
Потом мы берем только что вычислененое число и делаем ту же процедуру ..и так далее к 1.
Пример: 5 —»5 16 8 4 2 1
m=input()
sequence=
if m%2==0:
m=m/2
else:
m=3*m+1
sequence.append(m)
?????
for elements in sequence:
print (sequence, end=' ')
Спасибо заранее
Romissevd
 m=int(input('enter number'))
sequence= []
sequence.append(m)
if m%2==0:
    m=m//2
else:
    m=3*m+1
while m>=1:
    sequence.append(m)
    m = m//2
for x in sequence:
    print(x, end=' ')
Lena13_08
Romissevd

Спасибо за быстрый ответ, но тест не работает для всех чисел. Например для номера 3 должно быть : 3 10 5 16 8 4 2 1 но он даёт: 3 10 5 4 2 1
Romissevd
Немного не понял условие сперва.
 m=int(input('enter number'))
sequence= []
sequence.append(m)
while m > 1:
    if m %2 == 0:
        m = m//2
    else:
        m = 3*m + 1
    sequence.append(m)
for x in sequence:
    print(x, end=' ')
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB