#Python 3.X
n = int(input('n = '))
c2, c3 = 0, 0
for i in range(n):
x = int(input('Число {}: '.format(i + 1)))
if x % 2 == 0:
c2 += 1
elif x % 3 == 0:
c3 += 1
print('На 2 делится {} чисел, на 3 - {}.'.format(c2, c3))
Ну вот смотри. Первоначальный массив:
a[0]=0, a[1]=1,..., a[5]=5.
Далее просто смотрим, что получается при отработке цикла
i=0: 0 1 2 3 4 0 (a[5] = a[0] - пятому элементу в массиве присваиваем значение нулевого)
i=1 : 0 1 2 3 1 0 (a[4] = a[1])
i=2: 0 1 2 2 1 0 (a[3] = a[2])
i=3: 0 1 2 2 1 0 (a[2] = a[3])
i=4: 0 1 2 2 1 0 (a[1] = a[4])
i=5: 0 1 2 2 1 0 (a[0] = a[5])
Вообще после i=2 уже ничего не меняется, так как симметрия такого ряда относительно среднего элемента массива видна отчетливо. Но следует понимать, что в памяти все же происходит перезапись элемента (в C/C++ насколько я помню, произойдет копирование int'а и там не будет несколько ссылок не одно число, они как бы разные)
1. число-скорость-время
2. объект-размер-текст-графика