TN - Somme des chiffres d'un entier

a marqué ce sujet comme résolu.

Bonsoir,

Voici le problème : Quelle est la valeur maximal de $k$ tel qu’il existe $k$ entiers consécutifs respectant la propriété suivante : $S(n^2)$ est un carré parfait avec $S(n)$ dénotant la somme des chiffres de l’entier $n$.

Je me demandais donc si il y avait des experts ici qui pourraient me donner quelques pistes pour résoudre ce problème car là je dois avouer que je suis bloqué.

Merci.

Je reformule, pour être sur d’avoir compris, et aussi pour aider d’autres lecteurs à comprendre.

On définit ce qu’est un nombre beau, puis un nombre carrément beau.

  • on dit qu’un nombre est beau si la somme de ces chiffres donne un carré parfait : 88 est beau, car S(88) = 8+8 = 16, et 16 est un carré parfait.

  • On dit qu’un nombre est carrément beau si la somme des chiffres de son carré donne un carré parfait : 10 est beau ( Car S(10)= 1+0 = 1² ) et 10 est aussi carrément beau car S(10²)= 1+0+0 = 1².

Et ce qu’on cherche, c’est plusieurs nombres carrément beaux consécutifs. Plus précisément, la plus grande séquence possible de nombres carrément beaux.

Non, c’est juste un mot qui m’a plu, et ’carrément beau’, ça m’a plu aussi.

J’ai fait un programme pour tester ; ça m’a donné quelques séquences de 7 nombres. Aucune séquence plus longue. En particulier les nombres de la forme 100..00 ou 100..01 ou … ou 100..05 sont ’carrément beaux’.

Mais de là à obtenir une démonstration, il y a encore un long chemin. (qui m’amuse beaucoup moins)

De mémoire, jusqu’à n = 2 Millions, j’ai trouvé 2 séquences de 7 nombres carrément beaux ( de 9 à 15 et de 9999 à 10005) et 9 ou 10 séquences de 6 nombres carrément beaux.

Je n’ai pas du tout comptabilisé les entiers beaux, mais statistiquement, ils devraient être un peu plus fréquents que les entiers carrément beaux. (rappel : un nombre peut-être carrément beau, sans être beau)

+0 -0

Avec le code suivant :

 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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import numpy as np
import matplotlib.pyplot as plt
from math import sqrt

def est_beau(n):
    """ Renvoie un tableau dont la case i indique si le nombre i est un nombre beau.
    """
    res = np.zeros(n.shape[0])
    l = len(str(n[-1]))

    for i in range(l):
        res += n%10
        n = (n-(n%10))/10

    res = np.sqrt(res)

    return res == res.astype('int32')

def est_carrement_beau(n):
    """ Renvoie un tableau dont la case i indique si le nombre i est un nombre carrément beau.
    """
    return est_beau(n**2)

def prop(n):
    """ Trace la porpotion de nombres beaux et carrément beaux.
    """
    x = np.arange(n)
    beau = est_beau(x)
    c_beau = est_carrement_beau(x)
    n_beau = [1]
    n_c_beau = [1]

    for i in range(1,beau.shape[0]):
        n_beau.append(n_beau[-1]+beau[i])
        n_c_beau.append(n_c_beau[-1]+c_beau[i])

    for i in range(1,beau.shape[0]):
        n_beau[i] /= i+1
        n_c_beau[i] /= i+1

    plt.figure('')
    plt.plot(x,n_beau,label = 'Proportion de nombres beaux')
    plt.plot(x, n_c_beau, label = 'Propotion de nombres carrément beaux')
    plt.legend()
    plt.show()

def sequence(l,n):
    x = np.arange(n)
    beau = est_beau(x)
    c_beau = est_carrement_beau(x)
    liste_sequences_beau = []
    liste_sequences_c_beau = []
    counter_b = 0
    to_add_b = []
    counter_c = 0
    to_add_c = []

    for i in range(beau.shape[0]):

        if beau[i]:
            counter_b += 1
            to_add_b.append(i)

        else:
            counter_b = 0
            to_add_b = []

        if c_beau[i]:
            counter_c += 1
            to_add_c.append(i)

        else:
            counter_c = 0
            to_add_c = []

        if counter_b == l:
            liste_sequences_beau.append(to_add_b)
            to_add_b = []
            counter_b = 0

        if counter_c == l:
            liste_sequences_c_beau.append(to_add_c)
            to_add_c = []
            counter_c = 0

    return liste_sequences_beau, liste_sequences_c_beau

Et en exécutant prop(1000000), on se rend compte que :

  1. La proportion de nombres beaux semble effectivement plus importante que celle de nombres carrément beaux.

  2. Il y a plus de nombres carrément beaux que de nombres beaux jusqu’à $n=144042$.

  3. Pour $n$ suffisamment grand il semblerait que les deux nombres tendent à suivre une fonction affine ($f(n)\approx0,74n$ pour les nombres carrément beaux et c’est moins sûr pour l’autre, mais ma puissance de calcul ne me permet pas de le déterminer ^^)

De plus, on se rend compte par l’exécution de sequence(3,1000000)[0] qu’il n’y a pas, à moins d’erreurs dans le code, de séquences de nombres beaux de longueur $3$ avant $1000000$. On peut donc conjecturer que la longueur maximale d’une telle séquence est $2$. Pour les nombres carrément beaux, je trouve $8$ séquences de longueur $6$ jusqu’à $5000000$, $2$ de longueur $7$ (celles trouvées par elegance) et aucune de longueur $8$.

Pour la démo, j’ai pas tellement d’idées non plus en revanche :'(

Je rebondis sur cette phrase : "les deux nombres tendent à suivre une fonction affine f(n)≈0,74n pour les nombres carrément beaux"

0.74n, c’est très au-dessus de la vérité, il s’agit probablement d’une erreur de frappe, on est plutôt aux environs de 0.14n.

Mais ce qui m’a interpellé, c’est que ce résultat m’a semblé très élevé. La théorie me donnait un résultat plutôt proche de 0.07*n (je vous laisse reconstituer ce calcul théorique). J’ai donc fait d’autres tests :

J’ai pris un intervalle (en l’occurrence de 87 millions à 89 millions). Sur cet intervalle, j’ai compté combien il y avait de nombre beaux. Résultat = 7.7% : en phase avec la théorie.

Et sur cet intervalle, je me suis limité aux carrés (il y a 106 carrés sur cet intervalle), et sur cet échantillon de 106 valeurs, combien sont des nombres beaux ? La proportion monte de 7.7% à 15%.

Et sur différents intervalles on retrouve ce décalage.

Si un nombre est un café parfait, ça double quasiment sa probabilité d’être beau. Résultat inattendu !

Et donc piste de réflexion.

En fait , on sait que n = S(n) modulo 9. (Application du principe de la preuve par 9)

Et pour que S(n) soit un carré, il faut que S(n) soit de la forme 9*a + b , avec b = 0, 1, 4 ou 7.

Ca démontre ce que Bunshinkage conjecturait : on ne peut pas avoir plus de 2 nombres beaux consécutifs. Et le fait que les nombres beaux, tout comme les carrés parfaits, soient tous de la forme 9*a +b avec b=0,1,4 ou 7 explique qu’on ait en gros 2 fois plus de chances de tomber sur un nombre beau à partir d’un carré parfait qu’à partir d’un nombre quelconque.

Plus précisément, par un raisonnement ’théorique’, je trouve en fait qu’un carré parfait à 7/3 fois plus de chance d’être beau qu’un nombre quelconque. ça paraît un peu loin du ratio retenu plus haut … (15% contre 7.7%). Je vais donc vérifier mon raisonnement. Ce sera pour ce Week-End.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte