0
0 комментариев

Олимпиадная задача, решил написать для нее код, дабы облегчить себе жизнь. Собственно задача:

По кругу расположены числа 1, 2, 3. Складываем сумму соседних чисел и сумму этих чисел ставим между ними. Т.е. в 1й заход последовательность будет выглядеть так:

1,3,2,5,4. Если не понимаете почему в конце 4, нарисуйте круг и напишите там 1, 2, 3 на одинаковом расстоянии. Вообщем суть задачи, когда общее количество станет равным 1000 нужно сосчитать сумму всех чисел. Я написал код, сначала все работает а потом как то вообще не так. Не понимаю в чем моя ошибка. [apcode language=»python»]

A=[1,2,3]
x=len(A)-1
while len(A)<10:
    for i in range(1,len(A)+1):
        if i<x:
            print(i,A[i]+A[i-1])
            A.insert(i,A[i]+A[i-1])#На место между двумя числами ставим их сумму
        else:
            A.append(A[0]+A[-1])   # Последнее число круга складываем с первым        
            x=len(A)-1
        print(A)    
    print('\n')
    print(A)
    print('\n')

[/apcode]


Добавить комментарий