Объясните решение задачи из ЕГЭ по информатике.
"Сколько существует десятичных чисел, которые делятся на 5, при условии что все цифры числа различные?"
Решение:
from itertools import *
word = '0123456789'
count = 0
for j in range(1,11):
for i in permutations(word,j):
x = ''.join(i)
if x[0] != '0' and (x[-1] == '5' or x[-1] == '0'):
count += 1
print(count + 1) #+1 случай когда число равно 0
Объясните, что делает строчка:
for j in range(1,11):
for i in permutations(word,j):
По дате
По рейтингу
1234567
from itertools import permutations
count = 0
for i in range(1, 11):
for j in permutations(range(0, 10), i):
if j[0] != 0 and j[-1] % 5 == 0:
count += 1
print(count + 1)
Немного покороче код
Что касается твоего
for j in range(1,11):
цикл от 1 до 10 с шагом 1
for i in permutations(word,j):
проход по всем комбинациям чисел
цифры для числа берутся из строки word, длина числа - j