ответ на Python:
a = list(map(int,input().split())) #Принимаем массив из одной строки
s = 0 #Счётчик
for i in range(len(a)-2): #Проход по массиву до пред-предпоследнего элемента
if a[i] == (a[i+1] + a[i+2]) / 2: # Проверяем, является ли этот элемент средним арифметическим 2-х следующих
s += 1 #Прибавляем счётчик
print(s) #Выводим ответ
Или вот:
a = list(map(int,input().split()))
s = 0
for i in range(len(a)-2):
a1 = a[i+1]
a2 = a[i+2]
if a[i] == (a1 + a2) / 2:
s += 1
print(s)
Объяснение:
Цикл while также используется для повторения частей кода, но вместо зацикливания на n количество раз, он выполняет работу до тех пор, пока не достигнет определенного условия. Давайте взглянем на простой пример:
Python
i = 0
while i < 10:
print(i)
i = i + 1
1
2
3
4
i = 0
while i < 10:
print(i)
i = i + 1
Цикл while является своего рода условным оператором. Вот что значит этот код: пока переменная i меньше единицы, её нужно выводить на экран. Далее, в конце, мы увеличиваем её значение на единицу. Если вы запустите этот код, он выдаст от 0 до 9, каждая цифра будет в отдельной строке, после чего задача будет выполнена. Если вы удалите ту часть, в которой мы увеличиваем значение i, то мы получим бесконечный цикл. Как правило – это плохо. Бесконечные циклы известны как логические ошибки, и их нужно избегать. Существует другой вырваться из цикла, для этого нужно использовать встроенную функцию break. Давайте посмотрим, как это работает:
Python
while i < 10:
print(i)
if i == 5:
break
i += 1
1
2
3
4
5
6
7
while i < 10:
print(i)
if i == 5:
break
i += 1
В этой части кода мы добавили условное выражение для проверки того, равняется ли когда-либо переменная i цифре 5. Если нет, тогда мы разрываем цикл. Как вы видите в выдаче кода, как только значение достигает пяти, код останавливается, даже если мы ранее указали while продолжать цикл, пока переменная не достигнет значения 10. Обратите внимание на то, что мы изменили то, как мы увеличиваем значение при Это удобный ярлык, который вы можете также использовать в других операциях, таких как вычитание -= и умножение *=. Встроенный break также известен как инструмент управления потока. Существует еще один, под названием continue, который в основном используется для пропуска итерации, или перейти к следующей итерации. Вот один из его применения:
Python
i = 0
while i < 10:
if i == 3:
i += 1
continue
print(i)
if i == 5:
break
i += 1
1
2
3
4
5
6
7
8
9
10
11
12
i = 0
while i < 10:
if i == 3:
i += 1
continue
print(i)
if i == 5:
break
i += 1
Слегка запутанно, не так ли? Мы добавили второе условное выражение, которое проверяет, не равняется ли i трем. Если да, мы увеличиваем переменную и переходим к следующему циклу, который удачно пропускает вывод значения 3 на экран. Как и ранее, когда мы достигаем значения 5, мы разрываем цикл. Существует еще одна тема, касающаяся циклов, которую нам нужно затронуть – это оператор else.
На скейтборде и на роликах умеют кататься 10 человек, а 3 из них катаются еще и на сноуборде. Следовательно, кататься только на скейтборде и на роликах умеют 10-3=7 ребят. Аналогично получаем, что только на скейтборде и на сноуборде умеют кататься 8-3=5 ребят, а только на сноуборде и на роликах 5-3=2 человека. Определим теперь, сколько человек умеют кататься только на одном спортивном снаряде. Кататься на сноуборде умеют 30 человек, но 5+3+2=10 из них владеют и другими снарядами, следовательно, только на сноуборде умеют кататься 20 ребят. Аналогично получаем, что только на скейтборде умеют кататься 13 ребят, а только на роликах – 30 ребят. По условию задачи всего 100 ребят. 20+13+30+5+7+2+3=80 – ребят умеют кататься хотя бы на одном спортивном снаряде. Следовательно, 20 человек не умеют кататься ни на одном спортивном снаряде.
20 человек не умеют кататься ни на одном спортивном снаряде.