Найти в Дзене

Числа - палиндромы

Палиндромом называется число, которое остается неизменным, когда его цифры меняют местами, причем меняются зеркально. Например, число 121 при чтении как слева, так и справа остается тем же, а число 154 становится 451, что уже не подходит под определение. Ниже будет показано, как распределены такие числа с промежутке от 1 до 50000 и более. При помощи программных средств python, модуля matplotlib и функции imshow осуществлено построение таких чисел. На рисунке 1 показано, как распределены числа - палиндромы в пределах от 1 до 2500. На графике белым показано число удовлетворяющее условию палиндромности, черным, все остальные числа. График следует читать слева направо и снизу вверх, так в первой нижней строчке идут числа от 1 до 50, во второй строчке снизу уже числа от 51 до 100 и так далее. При движении вверх по строчкам числа становятся все больше и больше.  Видно, что при возрастании чисел частотность появления палиндромов, уменьшается. Виден так же периодических характер их появления.

Палиндромом называется число, которое остается неизменным, когда его цифры меняют местами, причем меняются зеркально. Например, число 121 при чтении как слева, так и справа остается тем же, а число 154 становится 451, что уже не подходит под определение. Ниже будет показано, как распределены такие числа с промежутке от 1 до 50000 и более.

При помощи программных средств python, модуля matplotlib и функции imshow осуществлено построение таких чисел. На рисунке 1 показано, как распределены числа - палиндромы в пределах от 1 до 2500. На графике белым показано число удовлетворяющее условию палиндромности, черным, все остальные числа.

Рисунок 1 - Распределение чисел - палиндромов в пределах от 1 до 2500
Рисунок 1 - Распределение чисел - палиндромов в пределах от 1 до 2500

График следует читать слева направо и снизу вверх, так в первой нижней строчке идут числа от 1 до 50, во второй строчке снизу уже числа от 51 до 100 и так далее. При движении вверх по строчкам числа становятся все больше и больше. 

Видно, что при возрастании чисел частотность появления палиндромов, уменьшается. Виден так же периодических характер их появления. Изменение вида группы палиндромов связано с переходом на новый десяток, то есть группы чисел с разными порядками имеют разное распределение, но внутри группы одного порядка распределение подобное.

На рисунке 2 изображено распределение чисел - палиндромов в пределах от 1 до 10000. Подобная структура сохраняется.

Рисунок 2 - Распределение чисел - палиндромов в пределах от 1 до 10000
Рисунок 2 - Распределение чисел - палиндромов в пределах от 1 до 10000

При переходе на новый разряд, как было сказано, периодичность меняется (рисунок 3).

Рисунок 3 - Распределение чисел - палиндромов в пределах от 1 до 40000
Рисунок 3 - Распределение чисел - палиндромов в пределах от 1 до 40000

Помимо изменения периодичности появляется еще одно закономерность. Внутри группы одной разрядности появляются еще одни локальные группы (вертикальные черточки). Числа в этой группе отличаются друг от друга на одно и тоже значение. Например, числа 8338, 8448, 8558, 8668, 8778, 8888, 8998. В дальнейшем эта закономерность сохраняется для чисел с четным количеством цифр.

Рисунок 4 - Распределение чисел - палиндромов в пределах от 1 до 160000
Рисунок 4 - Распределение чисел - палиндромов в пределах от 1 до 160000

Таким образом, было визуализировано распределение чисел - палиндромов и определены их закономерности до значений 160000. Исходный код приложен ниже:

import matplotlib.pyplot as plt 

import numpy as np 

def ispolindrom(a): 

return str(a) == str(a)[::-1] 

N = 400 

z = np.array([list(map(lambda x: 1*ispolindrom(x), list(range(1+N*i, 1+N*(i+1))))) for i in range(N)]) 

c = plt.imshow(z, cmap='gray', vmin = 0, vmax = 1, extent =[1, N, 1, N], interpolation ='none', origin ='lower', aspect='equal') 

plt.title(f'Распределение полиндромов от 1 до {N**2}', fontweight ="bold") 

plt.show() 

P.S. Предлагаю услуги репетитора, помогаю в освоении дисциплин: математика, физика, информатика, теоретическая механика.

-5