last_digits_known = dict() def multiply_digits(x): mul = 1 x = str(x) for digit in x: mul *= int(digit) return mul def last_digit(x): tmp = x while(x > 9): x = multiply_digits(x) if x in last_digits_known: return last_digits_known[x] last_digits_known[tmp] = x return x t = int(input()) days = input().split() for i in range(t): days[i] = int(days[i]) for day in range(t): numbers = [0]*10 for i in range(days[day], 0, -1): if i not in last_digits_known: numbers[last_digit(i)] +=1 else: numbers[last_digits_known[i]] +=1 for i in range(10): print(numbers[i], end=' ') print()
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 28 29 30 31 | last_digits_known = dict() def multiply_digits(x): mul = 1 x = str(x) for digit in x: mul *= int(digit) return mul def last_digit(x): tmp = x while(x > 9): x = multiply_digits(x) if x in last_digits_known: return last_digits_known[x] last_digits_known[tmp] = x return x t = int(input()) days = input().split() for i in range(t): days[i] = int(days[i]) for day in range(t): numbers = [0]*10 for i in range(days[day], 0, -1): if i not in last_digits_known: numbers[last_digit(i)] +=1 else: numbers[last_digits_known[i]] +=1 for i in range(10): print(numbers[i], end=' ') print() |