Число с самоописанием — это число, в котором цифры в каждой позиции указывают частоту появления этой цифры в самом числе. Другими словами, число «2024» самоописательно, поскольку оно содержит два нуля, ноль единиц, две двоек и четыре четверки.
Вот пример метода определения того, является ли число самоописывающим с помощью Python:
def is_self_describing_number(number):
# Convert the number to a string
num_str = str(number)
# Iterate over each digit
for i in range(len(num_str)):
# Count the frequency of the current digit
count = num_str.count(str(i))
# If the count doesn't match the digit at position i, return False
if count != int(num_str[i]):
return False
# If all digits pass the check, return True
return True
Вы можете использовать функцию is_self_describing_number()
, чтобы проверить, является ли число самоописывающим. Например:
number = 2024
if is_self_describing_number(number):
print(f"{number} is a self-describing number.")
else:
print(f"{number} is not a self-describing number.")
Выход:
2024 is a self-describing number.