[PYTHON] Le mystère du nombre qui peut être vu simplement en arrangeant les 1-Le nombre de repunits et de propriétés mystérieuses-

introduction

Alignons 1 $. 1, 11, 111, 1111, 11111, 111111, 11111111, 111111111, 1111111111, … Le nombre naturel $ R_n $ qui peut être arrangé en arrangeant $ 1 $ de cette manière est appelé __Repunit number (repunit number) __. [^ 1] [^ 1]: Le nom Repunit vient de "Répété" + "Unité (1)" C'est, R_1 = 1, R_2 = 11, R_3 = 111, R_4 = 1111, R_5 = 11111, ……… Etc. C'est une définition très simple du numéro de repunit, mais elle a en fait des propriétés mystérieuses. Dans cet article, examinons les propriétés.

__ Le contenu peut être compris au niveau des mathématiques du secondaire, alors détendez vos épaules et amusez-vous! __

Terme général pour le numéro de repunit

Étant donné une suite de nombres, c'est la tristesse de toute l'humanité que l'on veut trouver le terme général. Alors, trouvons d'abord le terme général pour le nombre de remboursements. Écrivons le $ n $ e numéro de repunit comme $ R_n = \ underbrace {1111 \ dots 11} _ {\ text {$ n $ digit}} $. À ce stade, $ R_n $ peut être considéré comme la somme des chaînes de rapport égal comme suit.

\begin{align}
R_n &= \underbrace{1111 \dots 11}_{\text{$n$chiffre}} \\
&= 1 + 10 + 100 + \dotsb + \underbrace{1000…00}_{\text{$n$chiffre}} = \sum_{k = 0}^{n - 1}10^k
\end{align}

Par conséquent, à partir de la formule de la somme des séquences de rapport égal,

\begin{align}
R_n = \frac{10^n - 1}{9}
\end{align}

Et j'ai pu trouver le terme général.

Beau théorème sur le nombre de repunits

C'est ce que je voulais le plus écrire dans cet article. Le théorème suivant est valable pour le nombre de repunits [^ 2].

[^ 2]: AtCoder ABC174 C.Repsept a un problème avec ce théorème en arrière-plan.
Le nom du problème est Repsept. , Cela semble provenir de "Repeated" + "sept (7)"

Soit __ $ n $ un nombre naturel avec $ 2,5 $ comme facteur premier .__ __ A ce moment, il y a toujours un nombre de repunit divisible par $ n $ .__

Par exemple ... Si vous prenez $ 3 $ comme $ n $, vous obtenez $ R_3 = 111 $ comme le nombre de remboursements divisibles par 3 $. Si vous prenez 21 $ $ comme $ n $, vous obtenez $ R_6 = 111111 $ comme le nombre de remboursements divisibles par 21 $. Si vous prenez 877 $ $ comme $ n $, vous obtiendrez $ R_ {438} = \ underbrace {1111… 11} _ {\ text {438 chiffres}} $ comme le nombre de remboursements divisibles par 877 $.

C'est beau. C'est un théorème enchanteur qui ne peut être imaginé à partir de cette simple définition.

Prouvons ce théorème dans ce chapitre. Belle histoire de mathématiques au lycée a une preuve utilisant le petit théorème de Fermat, mais ici j'adopterai une autre approche.

Théorie du pigeonnier

Ici, Théorie de Hatosha Cette section explique. La réclamation est très simple.

Supposons maintenant que vous ayez des colombes à plumes $ M $ et des volières $ N (<M) $.

image.png

Ensuite, nous mettrons les pigeons dans chaque volière. À l'heure actuelle, la déclaration est qu'il existe une volière avec au moins 2 $ ou plus de pigeons.

image.png

Cela semble évident, mais c'est en fait très puissant et efficace dans divers domaines des mathématiques.

Cet article utilise également cette théorie du pigeonnier pour prouver le théorème ci-dessus.

Preuve

Soit $ n $ un nombre naturel avec $ 2,5 $ comme facteur premier. Considérons maintenant $ n + 1 $ Repunit les numéros $ R_1, R_2,…, R_ {n}, R_ {n + 1} $. Il existe $ 1 \ leq i <j \ leq n + 1 $ qui est $ R_j \ equiv R_i \ \ \ (\ mathrm {mod}. C'est,

R_j - R_i \equiv 0 \ \ \ (\mathrm{mod}. n) 

Est. En ce moment,

\begin{align}
R_j - R_i &= \frac{10^j - 1}{9} - \frac{10^i - 1}{9} \\
&= \frac{10^j - 10^i}{9} \\
&= 10^i \cdot \frac{10^{j - i} - 1}{9} \\
&= 10^i R_{j - i}
\end{align}

Parce qu'il peut être calculé comme

10^i R_{j - i} \equiv 0 \ \ \ (\mathrm{mod}. n)

Sera. Maintenant, $ n $ n'a pas 2,5 $ comme facteur premier, il est donc premier à 10 $,

R_{j - i} \equiv 0 \ \ \ (\mathrm{mod}. n)

Peut être. Par conséquent, nous avons pu obtenir le nombre de remboursements pouvant être divisé par $ n $.

(Code bonus

Si vous passez un nombre comme argument de ligne de commande, voici le code pour trouver le nombre minimum de repunits pouvant être divisé par ce nombre. [^ 3]

[^ 3]: Même si je modifie ce code pour 777 $… 77 $, il ne passe pas comme TLE dans AtCoder ABC174 C. Repsept. > Une autre idée s'impose

get_repunit_length.py


import sys

def get_repunit_length(number):
    if (number <= 0):
        return -1
    elif ((number % 2 == 0) or (number % 5 == 0)):
        return 0
    else:
        repunit = 1
        length = 0
        while(True):
            length += 1
            if (repunit % number == 0):
                return length
            else:
                repunit = repunit + 10 ** length


if __name__ == "__main__":
    args = sys.argv
    input = int(args[1])

    result = get_repunit_length(input)

    if (result == -1):
        print("Veuillez saisir un nombre naturel.")
    elif (result == 0):
        print(f'{input}Il n'y a pas de nombre de repunit divisible par.')
    else:
        print(f'{input}Le nombre minimum de remboursements divisibles par est R_{result}est.')

Repunit prime

C'est un bonus d'ici.

Un nombre Repunit qui est à la fois un nombre premier et un nombre premier est appelé un __Repunit premier nombre _. Par exemple, $ R_2 = 11 $ est un prime de repunit. De plus, $ R {19} = 1111111111111111111 $ est un prime de repunit. Quels sont les autres nombres premiers de Repunit? Le tableau suivant est publié sur Wikipedia. Ici, $ n $ signifie le $ n $ e numéro de repunit.

n Année de découverte découvreur
2 - -
19 - -
23 - -
317 1978 Williams
1031 1986 Williams, Dubner
49081 1999 Dubner
86453 2000 Baxter
109297 2007 Dubner
270343 2007 Voznyy

Seul ce nombre premier $ 9 $ est actuellement connu. Repunit L'existence d'innombrables nombres premiers est une question ouverte .

Nous ne savons pas quand le nombre de repunit sera premier, mais nous pouvons faire des recherches. Par exemple, si $ n $ est un nombre composé, alors $ R_n $ est également un nombre composé. [^ 4] [^ 4]: Veuillez noter que nous ne prétendons pas que $ R_n $ est un premier lorsque __ $ n $ est un premier __ Cela ressort immédiatement des propriétés suivantes concernant le nombre de remboursements:

__ Pour les nombres naturels $ n, m $, si $ m $ est divisible par $ n $, alors $ R_m $ est divisible par $ R_n $ .__

Veuillez considérer la preuve des propriétés ci-dessus. Je vais l'écrire ici aussi, alors veuillez l'utiliser comme réponse.

<détails>

Preuve </ summary>
Puisque $ m $ est divisible par $ n $, nous utilisons un nombre naturel $ k $ et le multiplions par $ n = km $. En ce moment,

\begin{align}
R_{n} &= \frac{10^n - 1}{9} \\
&= \frac{10^{km} - 1}{9} \\
&= \frac{(10^m)^k - 1}{9} \\
&= \frac{(10^m - 1)(10^{m(k - 1)} + 10^{m(k - 2)} + \cdots + 1)}{9} \\
&= (10^{m(k - 1)} + 10^{m(k - 2)} + \cdots + 1)R_{m}
\end{align}

Alors, $ (10 ^ {m (k - 1)} + 10 ^ {m (k - 2)} + \ cdots + 1) $ est un nombre naturel, donc $ R_m $ est divisible par $ R_n $.

en conclusion

Les mathématiques sont vraiment intéressantes. Bien sûr, la plupart des domaines sont difficiles en utilisant pleinement l'analyse gorigori, l'algèbre et les mathématiques de phase, et la définition du problème lui-même est assez avancée. Mais ce n'est pas tout. Par exemple, simplement en organisant les nombres de manière appropriée ou en échangeant les nombres comme cette fois, il y a de magnifiques joyaux de mathématiques qui dorment là. [^ 5] [^ 5]: Le secret de la combinaison caché dans la fonction triangulaire Mais vous venez d'organiser les nombres en zigzag (publicité) Je pense que c'est incroyable. Ce pourrait être une bonne idée de jouer avec quelques jeux de temps en temps et de jouer avec vos propres mathématiques. __ Si vous avez des thèmes intéressants ou des découvertes, faites-le nous savoir! __

Recommended Posts

Le mystère du nombre qui peut être vu simplement en arrangeant les 1-Le nombre de repunits et de propriétés mystérieuses-
[Python] Un programme pour trouver le nombre de pommes et d'oranges qui peuvent être récoltées
Une histoire qui pourrait améliorer les performances simplement en changeant le type de numpy
Lister les classes qui peuvent être référencées par ObjCClass
[Python] Un programme qui trouve le nombre maximum de jouets pouvant être achetés avec votre argent
Prédisez le nombre de coussins qui peuvent être reçus en tant que répondants rires avec Word2Vec + Random Forest
Enquête sur l'alimentation CC contrôlable par Python
Ceci et cela des propriétés python
Masquer l'avertissement selon lequel zsh peut être utilisé par défaut sur Mac
[Python] Un programme qui calcule le nombre de chaussettes jumelées
Nombre maximum de paramètres de fonction pouvant être définis dans chaque langue
J'ai vérifié le nombre de magasins fermés et ouverts dans tout le pays par Corona
Article qui peut être une ressource humaine qui comprend et maîtrise le mécanisme de l'API (avec du code Python)
Bon avec Python et xonsh pour que vous puissiez voir l'instance EC2 simplement en entrant dans le shell
Ceci et celui de la notation d'inclusion.
Tensorflow, il semble que même la valeur propre de la matrice puisse être automatiquement différenciée
Divise la chaîne de caractères par le nombre de caractères spécifié. En Ruby et Python.
Lisez l'image postée par flask afin qu'elle puisse être manipulée par opencv
[Python] Un programme qui calcule le nombre de mises à jour des enregistrements les plus élevés et les plus faibles
Astuces Python: Une combinaison de enumerate () et zip (), vérifiant si une chaîne peut être convertie en nombre, triant la chaîne sous forme de nombre
Quel genre de commentaires les gens qui n'ont vu que les fêtes font-ils quand ils voient le toucher, et la machine peut-elle reconnaître Chino-chan rien qu'en commentant?