Идеальный инвариант между цифрами - Perfect digit-to-digit invariant

В теория чисел, а идеальный инвариант между цифрами (PDDI; также известный как Число Мюнхгаузена[1]) это натуральное число в данном база чисел который равен сумме цифр, каждая из которых возведена в степень. Например, в базе 3 (тройной ) их три: 1, 12 и 22. Термин «число Мюнхгаузена» был придуман голландским математиком и инженером-программистом Дааном ван Беркелем в 2009 году,[2] как это вызывает историю Барон мюнхгаузен приподнимаясь за свой собственный хвост, потому что каждая цифра возведена во власть самой себя.[3][4]

Определение

Позволять быть натуральным числом. Мы определяем идеальная инвариантная функция преобразования цифр в цифру для базы быть следующим:

.

куда это количество цифр в числе в базе и

- значение каждой цифры числа. В качестве 00 обычно не определено, обычно используются два соглашения: в одном оно принимается равным единице, а в другом - равным нулю.[5][6] Натуральное число это идеальный инвариант между цифрами если это фиксированная точка за , что происходит, если . Для первой конвенции фиксированная точка для всех , и, таким образом, является тривиальный идеальный инвариант между цифрами для всех , и все другие совершенные инварианты преобразования цифр в цифру равны нетривиальные совершенные инварианты цифр в цифру. Для второго соглашения оба и - тривиальные совершенные инварианты преобразования цифр в цифру.

Например, число 3435 в базе является идеальным инвариантом для преобразования цифр в цифру, потому что .

За , в первом соглашении , это просто количество цифр в представлении с основанием 2, а во втором соглашении , это просто цифра сумма.

Натуральное число это общительный цифровой инвариант если это периодическая точка за , куда для положительного целого числа , и образует цикл периода . Идеальный инвариант преобразования цифр в цифру - это общительный инвариант преобразования цифр в цифру с , а дружественный инвариант преобразования цифр в цифры является общительным инвариантом цифр в цифру с .

Все натуральные числа находятся препериодические точки за , вне зависимости от базы. Это потому, что все натуральные числа с основанием с цифры удовлетворяют . Однако когда , тогда так что любой удовлетворит до того как . Существует конечное число натуральных чисел меньше, чем , поэтому число гарантированно достигнет периодической точки или фиксированной точки меньше, чем , что делает его предпериодической точкой. Это также означает, что существует конечное число идеальных инвариантов между цифрами и цифрами. циклы для любой данной базы .

Количество итераций необходимо для достичь фиксированной точки - это -factorion функции упорство из , и undefined, если он никогда не достигает фиксированной точки.

Совершенные инварианты преобразования цифр в цифры и циклы для конкретных

Все числа представлены в базе .

соглашение

ОснованиеНетривиальные совершенные инварианты преобразования цифр в цифры ()Циклы
210
312, 222 → 11 → 2
4131, 3132 → 10 → 2
5

2 → 4 → 2011 → 12 → 10 → 2

104 → 2013 → 113 → 104

622352, 23452

4 → 1104 → 1111 → 4

23445 → 24552 → 50054 → 50044 → 24503 → 23445

71345412066 → 536031 → 265204 → 265623 → 551155 → 51310 → 12125 → 12066
8405 → 6466 → 421700 → 3110776 → 6354114 → 142222 → 421 → 405
931, 156262, 1656547
103435
11
123A67A54832

соглашение

ОснованиеНетривиальные совершенные инварианты преобразования цифр в цифры (, )[1]Циклы
2
312, 222 → 11 → 2
4130, 131, 313
5103, 2024

2 → 4 → 2011 → 11 → 2

9 → 2012 → 9

622352, 23452

5 → 22245 → 23413 → 1243 → 1200 → 5

53 → 22332 → 150 → 22250 → 22305 → 22344 → 2311 → 53

713454
8400, 401
930, 31, 156262, 1647063, 1656547, 34664084
103435, 438579088
11
123A67A54832

Примеры программирования

В приведенных ниже примерах реализована идеальная инвариантная функция преобразования цифр в цифру, описанная в определении выше. для поиска идеальных инвариантов и циклов преобразования цифр в цифру в Python для двух конвенций.

соглашение

def pddif(Икс: int, б: int) -> int:    общий = 0    пока Икс > 0:        общий = общий + пау(Икс % б, Икс % б)        Икс = Икс // б    возвращаться общийdef pddif_cycle(Икс: int, б: int) -> Список[int]:    видимый = []    пока Икс нет в видимый:        видимый.добавить(Икс)        Икс = pddif(Икс, б)    цикл = []    пока Икс нет в цикл:        цикл.добавить(Икс)        Икс = pddif(Икс, б)    возвращаться цикл

соглашение

def pddif(Икс: int, б: int) -> int:    общий = 0    пока Икс > 0:        если Икс % б > 0:            общий = общий + пау(Икс % б, Икс % б)        Икс = Икс // б    возвращаться общийdef pddif_cycle(Икс: int, б: int) -> Список[int]:    видимый = []    пока Икс нет в видимый:        видимый.добавить(Икс)        Икс = pddif(Икс, б)    цикл = []    пока Икс нет в цикл:        цикл.добавить(Икс)        Икс = pddif(Икс, б)    возвращаться цикл

Смотрите также

Рекомендации

  1. ^ а б ван Беркель, Даан (2009). «О любопытном свойстве 3435». arXiv:0911.3038 [math.HO ].
  2. ^ Олри, Регис и Дуэйн Э. Хейнс. "Исторические и литературные корни синдромов Мюнхгаузена", из литературы, неврологии и неврологии: неврологические и психические расстройства, Стэнли Фингер, Франсуа Боллер, Энн Стайлз, ред. Elsevier, 2013. с.136.
  3. ^ Даан ван Беркель, О любопытном свойстве 3435.
  4. ^ Паркер, Мэтт (2014). Что делать и что делать в четвертом измерении. Пингвин Великобритания. п. 28. ISBN  9781846147654. Получено 2 мая 2015.
  5. ^ Нарцистический номер, Харви Хайнц
  6. ^ Уэллс, Дэвид (1997). Словарь любопытных и интересных чисел Penguin. Лондон: Пингвин. п. 185. ISBN  0-14-026149-4.

внешняя ссылка