def multiply_digits(x): """Funkcja mnoży cyfry liczby x.""" result = 1 has_non_zero_digit = False while x > 0: digit = x % 10 if digit != 0: # Ignorujemy 0, ponieważ mnożenie przez 0 daje 0 result *= digit has_non_zero_digit = True x //= 10 return result if has_non_zero_digit else 0 def final_digit(n): """Funkcja zwraca końcową cyfrę zabawy w mnożenie dla liczby n.""" while n >= 10: # Kontynuujemy, aż n będzie jednocyfrowe n = multiply_digits(n) return n def count_final_digits(t, n_list): """Funkcja zlicza, na jakiej cyfrze kończą się zabawy w mnożenie.""" results = [] for n in n_list: counts = [0] * 10 # Inicjalizujemy listę zliczającą dla cyfr 0-9 for i in range(1, n + 1): final = final_digit(i) counts[final] += 1 results.append(counts) return results # Przykładowe dane wejściowe t = 3 # Liczba dni n_list = [10, 56, 57] # Liczby n dla każdego dnia # Obliczenie wyników results = count_final_digits(t, n_list) # Wyświetlenie wyników for counts in results: print(" ".join(map(str, counts)))
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 32 33 34 35 36 37 38 39 | def multiply_digits(x): """Funkcja mnoży cyfry liczby x.""" result = 1 has_non_zero_digit = False while x > 0: digit = x % 10 if digit != 0: # Ignorujemy 0, ponieważ mnożenie przez 0 daje 0 result *= digit has_non_zero_digit = True x //= 10 return result if has_non_zero_digit else 0 def final_digit(n): """Funkcja zwraca końcową cyfrę zabawy w mnożenie dla liczby n.""" while n >= 10: # Kontynuujemy, aż n będzie jednocyfrowe n = multiply_digits(n) return n def count_final_digits(t, n_list): """Funkcja zlicza, na jakiej cyfrze kończą się zabawy w mnożenie.""" results = [] for n in n_list: counts = [0] * 10 # Inicjalizujemy listę zliczającą dla cyfr 0-9 for i in range(1, n + 1): final = final_digit(i) counts[final] += 1 results.append(counts) return results # Przykładowe dane wejściowe t = 3 # Liczba dni n_list = [10, 56, 57] # Liczby n dla każdego dnia # Obliczenie wyników results = count_final_digits(t, n_list) # Wyświetlenie wyników for counts in results: print(" ".join(map(str, counts))) |