Как вы думаете, решит ли правильно данная программа задачку:
Найдите количество 6-значных чисел, произведение цифр которых делится на 4.
g = int(input())
for a in range(1, 10):
for b in range(1, 10):
for c in range(1, 10):
for d in range(1, 10):
for e in range(1, 10):
for f in range(1, 10):
if a*b*c*d*e*f % 4 == 0:
g += 1
print (g)
Answers & Comments
Нет, как минимум потому, что все цифры кроме первой могут находится не только в диапазоне [1,10), но также могут равняться нулю.
Программа выполнится правильно. Человек выше (или ниже, не знаю как получится) написал что значения могут быть от нуля. Если любое значение заменить на ноль, то произведение в любом случае станет равно 0. А 0 на 4 не делится.
Плюс я лично проверил на языке Python.
Единственный нюанс, не понимаю, зачем ты читаешь "g", ведь она должна прибавляться сама. В начале её лучше приравнять к нулю: g = 0
---------------------------------------------
Добавлено: Если вам нужны и нули, то стоит просто заменить все 1 на 0 в диапазоне после "а":
g = 0
for a in range(1, 10):
for b in range(0, 10):
for c in range(0, 10):
for d in range(0, 10):
for e in range(0, 10):
for f in range(0, 10):
if a*b*c*d*e*f % 4 == 0:
g += 1
print (g)
input()