def cyfrowy_pierwiastek_multiplikatywny(n):
while n >= 10:
digits = [int(digit) for digit in str(n)]
if 0 in digits:
return 0
n = 1
for digit in digits:
n *= digit
return n
def liczba_pierwiastkow_multiplikatywnych(n):
wynik = [0] * 10
for i in range(1, n + 1):
pierwiastek = cyfrowy_pierwiastek_multiplikatywny(i)
if 1 <= pierwiastek <= 9:
wynik[pierwiastek] += 1
return wynik
def oblicz_pierwiastki_dla_testow(t, liczby):
for n in liczby:
wynik = liczba_pierwiastkow_multiplikatywnych(n)
print(" ".join(map(str, wynik[1:])))
t = int(input())
liczby = [int(input()) for _ in range(t)]
oblicz_pierwiastki_dla_testow(t, liczby)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | def cyfrowy_pierwiastek_multiplikatywny(n): while n >= 10: digits = [int(digit) for digit in str(n)] if 0 in digits: return 0 n = 1 for digit in digits: n *= digit return n def liczba_pierwiastkow_multiplikatywnych(n): wynik = [0] * 10 for i in range(1, n + 1): pierwiastek = cyfrowy_pierwiastek_multiplikatywny(i) if 1 <= pierwiastek <= 9: wynik[pierwiastek] += 1 return wynik def oblicz_pierwiastki_dla_testow(t, liczby): for n in liczby: wynik = liczba_pierwiastkow_multiplikatywnych(n) print(" ".join(map(str, wynik[1:]))) t = int(input()) liczby = [int(input()) for _ in range(t)] oblicz_pierwiastki_dla_testow(t, liczby) |
English