2. Данную задачу решить линейный алгоритм (с ветвлениями if). Мы подставляли текущие значения переменных, тем самым определяли, выполнится командный блок if или нет. Если выполняется - также подставляли значения переменных, и находили новые значения. Мы выполняли код последовательно и были в роли программы, которая считывает написанный код и также выполняет эти же действия.
Объяснение:
Код с объяснениями:
a, b, c = map(int, input().split()) # вводятся значения a, b, c с клавиатуры, через пробел
t = k = h = p = s = 0 # регистрируются переменные, равные нулю
if (a + b + c) % 3 == 0: # если сумма a, b, c кратна трём, то...
k = (a + b + c) // 3 # ...присвоить переменной k значение: целая часть от деления (a + b + c) на 3
t = a - k; p = b - k; h = c - k # ...выполнить данные действия
if t > 0: # если t больше нуля...
s = s + t #...то переменную s увеличить на t
if p > 0: # если p больше нуля...
s = s + p # ...то переменную s увеличить на p
if h > 0: # если h больше нуля...
s = s + h # ...то переменную s увеличить на h
print(s) # вывести значение переменной s
else: # если сумма a, b, c НЕ кратна трём, то...
print(-1) # ...вывести -1
Код с промежуточными результатами при a = 7, b = 20, c = 9:
a, b, c = 7, 20, 9
t = k = h = p = s = 0
if (a + b + c) % 3 == 0: # true. (7 + 20 + 9) % 3 = 36 % 3 = 0 (цел.часть 12)
k = (a + b + c) // 3 # k = 36 // 3 = 12
t = a - k; p = b - k; h = c - k # t = 7 - 12 = -5; p = 20 - 12 = 8; h = 9 - 12 = -3
if t > 0: # false
s = s + t
if p > 0: # true. s = 0 + 8 = 8
s = s + p
if h > 0: # false
s = s + h
print(s) # вывод: 8
else: # не выполнится
print(-1)
Код с промежуточными результатами при a = 13, b = 11, c = 0:
a, b, c = 13, 11, 0
t = k = h = p = s = 0
if (a + b + c) % 3 == 0: # true. (13 + 11 + 0) % 3 = 24 % 3 = 0 (цел.часть 8)
k = (a + b + c) // 3 # k = 24 // 3 = 8
t = a - k; p = b - k; h = c - k # t = 13 - 8 = 5; p = 11 - 8 = 3; h = 0 - 8 = -8
ниже
Объяснение:
import random
while True:
sum_of_smaller = 0
formated_aray = []
source_array = []
for n in range(15):
random_number = random.randint(0,1000)
source_array.append(random_number)
for element in source_array:
formated_aray.append(element + source_array.index(element))
while True:
a = int(input('Введите число: '))
for el in formated_aray:
if el < a:
sum_of_smaller += el**2
else:
pass
break
print(source_array)
print(sum_of_smaller)
1. Результаты выполнения каждой команды ниже.
2. Данную задачу решить линейный алгоритм (с ветвлениями if). Мы подставляли текущие значения переменных, тем самым определяли, выполнится командный блок if или нет. Если выполняется - также подставляли значения переменных, и находили новые значения. Мы выполняли код последовательно и были в роли программы, которая считывает написанный код и также выполняет эти же действия.
Объяснение:
Код с объяснениями:
a, b, c = map(int, input().split()) # вводятся значения a, b, c с клавиатуры, через пробел
t = k = h = p = s = 0 # регистрируются переменные, равные нулю
if (a + b + c) % 3 == 0: # если сумма a, b, c кратна трём, то...
k = (a + b + c) // 3 # ...присвоить переменной k значение: целая часть от деления (a + b + c) на 3
t = a - k; p = b - k; h = c - k # ...выполнить данные действия
if t > 0: # если t больше нуля...
s = s + t #...то переменную s увеличить на t
if p > 0: # если p больше нуля...
s = s + p # ...то переменную s увеличить на p
if h > 0: # если h больше нуля...
s = s + h # ...то переменную s увеличить на h
print(s) # вывести значение переменной s
else: # если сумма a, b, c НЕ кратна трём, то...
print(-1) # ...вывести -1
Код с промежуточными результатами при a = 7, b = 20, c = 9:
a, b, c = 7, 20, 9
t = k = h = p = s = 0
if (a + b + c) % 3 == 0: # true. (7 + 20 + 9) % 3 = 36 % 3 = 0 (цел.часть 12)
k = (a + b + c) // 3 # k = 36 // 3 = 12
t = a - k; p = b - k; h = c - k # t = 7 - 12 = -5; p = 20 - 12 = 8; h = 9 - 12 = -3
if t > 0: # false
s = s + t
if p > 0: # true. s = 0 + 8 = 8
s = s + p
if h > 0: # false
s = s + h
print(s) # вывод: 8
else: # не выполнится
print(-1)
Код с промежуточными результатами при a = 13, b = 11, c = 0:
a, b, c = 13, 11, 0
t = k = h = p = s = 0
if (a + b + c) % 3 == 0: # true. (13 + 11 + 0) % 3 = 24 % 3 = 0 (цел.часть 8)
k = (a + b + c) // 3 # k = 24 // 3 = 8
t = a - k; p = b - k; h = c - k # t = 13 - 8 = 5; p = 11 - 8 = 3; h = 0 - 8 = -8
if t > 0: # true. s = 0 + 5 = 5
s = s + t
if p > 0: # true. s = 5 + 3 = 8
s = s + p
if h > 0: # false
s = s + h
print(s) # вывод: 8
else: # не выполнится
print(-1)