Bibm@th

Forum de mathématiques - Bibm@th.net

Bienvenue dans les forums du site BibM@th, des forums où on dit Bonjour (Bonsoir), Merci, S'il vous plaît...

Vous n'êtes pas identifié(e).

#1 30-09-2019 18:28:24

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 13 790

Variations sur le nombre de David Champer

Bonsoir,

Suite à un exercice soumis en 2nde, voilà un programme Python qui fait le travail.
La taille des nombres ne sera limitée que par la quantité de RAM de votre machine


#!/usr/bin/env python
# coding: utf-8 -*-


from math import log

print("          ***********************************")
print("          *   Variations sur le nombre     *")
print("          *              de                 *")
print("          *          David Champer          *")
print("          ***********************************")

print ("\n\nNombre de David Champer :")
print("             0,123456789101112131415161718192302122232425627282930...")
print ("\n")

######## Inscrire ci-dessous la position du chiffre à rechercher #########

n=int(input("    Entrer la position du chiffre à rechercher : "))

##########################################################################

i,lg=1,0
while not lg>=n:
    lg+=int(log(i,10))+1
    i+=1
lg_i=int(log(i,10))+1
ecart = lg-n
print("+-+ Le "+str(n)+"e chiffre décimal est",str(i)[lg_i-ecart-1],"+-+")
print("\n")

######## Inscrire ci-dessous le nombre de chiffres à additionner #########

nc=int(input("    Entrer le nombre de chiffres à additionner : "))

##########################################################################

i,nb_chiffres,S, stop=1,0,0,0
print("+-+ La somme des",nc, "premiers chiffres décimaux est :",end=" ")
while not stop:
    lg_i=int(log(i,10))+1
    for x in range(lg_i):
        nb_chiffres+=1
        if nb_chiffres<=nc:
            S+=int(str(i)[x])    
        else:
            stop=1
            break
    i+=1
print (S,"+-+\n\n")


######## Inscrire ci-dessous la chaîne à rechercher #########

ch=input("    Entrer la chaîne à rechercher : ")

#################################################################################

print ("+-+ Recherche de toutes les occurrences de la chaîne", ch,"+-+")
lg_ch=len(ch)
Positions=["unités","dizaines","centaines","milliers","dizaines de mille", "centaines de mille",\
           "millions","dizaines de million", "centaines de million","milliards",\
           "dizaines de milliard", "centaines de milliard","billions","dizaines de billon",\
           "centaines de billon","trillons"]
ln_ch=len(ch)-1
for i in range(0,ln_ch):
    fin1=ch[0:i+1]
    debut2=ch[i+1:]
    print ("    --> Avec le "+ch[0]+" en place des "+Positions[i]+",")
    print ("la chaîne "+ch+" est comprise dans les 2 nombres consécutifs juxtaposés",end=" ")
    u=str((int(fin1)+1)%10)
    fin1=fin1[:-1]+u
    nb2=debut2+fin1
    nb1=str(int(nb2)-1)
    print (nb1+nb2,"\n")
 

Exemple de résultats :

.
          ***********************************
          *          Variations sur le nombre               *
          *                         de                                *
          *                David Champer                      *
          ***********************************


Nombre de David Champer :
             0,123456789101112131415161718192302122232425627282930...


    Entrer la position du chiffre à rechercher : 9876
+-+ Le 9876e chiffre décimal est 7 +-+


    Entrer le nombre de chiffres à additionner : 2345
+-+ La somme des 2345 premiers chiffres décimaux est : 10234 +-+


    Entrer la chaîne à rechercher : 03071988
+-+ Recherche de toutes les occurences de la chaîne 03071988 +-+
    --> Avec le 0 en place des unités,
la chaîne 03071988 est comprise dans les 2 nombres consécutifs juxtaposés 3071988030719881

    --> Avec le 0 en place des dizaines,
la chaîne 03071988 est comprise dans les 2 nombres consécutifs juxtaposés 719880307198804

    --> Avec le 0 en place des centaines,
la chaîne 03071988 est comprise dans les 2 nombres consécutifs juxtaposés 7198803071988031

    --> Avec le 0 en place des milliers,
la chaîne 03071988 est comprise dans les 2 nombres consécutifs juxtaposés 1988030719880308

    --> Avec le 0 en place des dizaines de mille,
la chaîne 03071988 est comprise dans les 2 nombres consécutifs juxtaposés 9880307198803072

    --> Avec le 0 en place des centaines de mille,
la chaîne 03071988 est comprise dans les 2 nombres consécutifs juxtaposés 8803070988030710

    --> Avec le 0 en place des millions,
la chaîne 03071988 est comprise dans les 2 nombres consécutifs juxtaposés 8030719880307199

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#2 02-10-2019 18:37:01

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 13 790

Re : Variations sur le nombre de David Champer

Bonsoir,

J'ai ajouté un menu et corrigé erreurs et imperfections de la partie recherche des occurrences d'une chaîne.
Ma méthode était un peu trop compliquée.
Il y avait bien plus simple et beaucoup plus de solutions trouvées facilement :
A partir de la chaîne donnée
Si et seulement si elle ne commence par "0", cette chaîne est déjà elle-même une solution.
Ensuite, on peut obtenir toutes les chaînes ayant 1 chiffre supplémentaire (1)
- en lui ajoutant un chiffre de 1 à 9 en début de chaîne : 9 réponses (1)
- et, si le 1er chiffre n'est pas 0, en ajoutant chacun des chiffres de 0 à 9 en fin de chaîne : 10 réponses (2)

On peut obtenir toutes les chaînes ayant 2 chiffres supplémentaires :
- en ajoutant devant chacune des 9 solutions (1), chacun des chiffres de 1 à 9 : 81 solutions
- si les 10 réponses (2) existent, en ajoutant à la fin de chacune de ces 10 réponses, chacun des chiffres de 0 à 9 : 100 solutions
- en ajoutant en fin chacune des 9 solutions (1), chacun des chiffres de 0 à 9 : 90 solutions...


#!/usr/bin/env python
# coding: utf-8 -*-


from math import log
def titre():
    print("                    ***********************************")
    print("                    *    Variations sur le nombre     *")
    print("                    *              de                 *")
    print("                    *          David Champer          *")
    print("                    ***********************************")

    print ("\n\nNombre de David Champer :")
    print("             0,123456789101112131415161718192302122232425627282930...")

def cherche_position():
    ######## Inscrire ci-dessous la position du chiffre à rechercher #########

    n=int(input("    Entrer la position du chiffre à rechercher : "))

    ##########################################################################

    i,lg=1,0
    while not lg>=n:
        lg+=int(log(i,10))+1
        i+=1
    lg_i=int(log(i,10))+1
    ecart = lg-n
    print("+-+ Le "+str(n)+"e chiffre décimal est",str(i)[lg_i-ecart-1],"+-+")
    return

def somme_des_premiers_chiffres():
    ######## Inscrire ci-dessous le nombre de chiffres à additionner #########

    nc=int(input("    Entrer le nombre de chiffres à additionner : "))

    ##########################################################################

    i,nb_chiffres,S, stop=1,0,0,0
    print("+-+ La somme des",nc, "premiers chiffres décimaux est :",end=" ")
    while not stop:
        lg_i=int(log(i,10))+1
        for x in range(lg_i):
            nb_chiffres+=1
            if nb_chiffres<=nc:
                S+=int(str(i)[x])    
            else:
                stop=1
                break
        i+=1
    print (S,"+-+\n\n")
    return

def ajout_devant(ch,CHD,cas):
    for i in range (1,10):
        print("  --> ",str(i)+ch)
        if cas==0:
            CHD.append(str(i)+ch)
    return CHD

def ajout_fin_de_chaine(ch,CHF,cas):
    for i in range(10):
        print("  --> ",ch+str(i))
        if cas==0:
            CHF.append(ch+str(i))
    return CHF

def cherche_chaine():
    ######## Inscrire ci-dessous la chaîne à rechercher #########

    ch=input("    Entrer la chaîne à rechercher : ")

    #################################################################################

    print ("+-+ Recherche de toutes les occurences de la chaîne", ch,"+-+")
    lch=len(ch)
    ln_ch=lch-1
    d=ch[0]+","
    print("Cette chaîne est constituée de", lch,"chiffres.")
    print("Le premier étant un",d,end=" ")
    if ch[0]=="0":
        print ("il n'y a aucun nombre, à", lch,"chiffres, solution.\n")
    else:
        print("Le nombre", ch, "qui possède", lch,"chiffres est déjà une réponse en lui-même.\n")
    print ("Réponses incluses dans des nombres à",lch+1,"chiffres.")
    print ("  En ajoutant un chiffre de 1 à 9 en début de chaîne :")
    CHD,CHF=[],[]
    CHD=ajout_devant(ch,CHD,0)
    print ()
    if ch[0]!="0"
        print ("  En ajoutant un chiffre de 0 à 9 en fin de chaîne :")
        CHF=ajout_fin_de_chaine(ch,CHF,0)
        print()
    else:
        print (" La chaîne commençant par 0, on ne peut ajouter de chiffre en fin de chaîne.\n")
    print ("Réponses incluses dans des nombres à",lch+2,"chiffres.")
    print ("  En ajoutant un chiffre de 1 à 9 en début de chacune des 9 solutions du début,")
    print("soit 81 réponses de plus...)")
    for ch in CHD:
        ajout_devant(ch,CHD,1)
        print()
    if ch[0]!="0"
        print ("  En ajoutant un chiffre de 0 à 9 en fin de chacune des 10 solutions de fin,")
        print ("soit 100 réponses supplémentaires...")
        for ch in CHF:
            ajout_fin_de_chaine(ch,CHF,1)
            print()
    else:
        print (" La chaîne commençant par 0, on ne peut ajouter de chiffre en fin de chaîne.\n")
    print("Toujours avec", lch+2,"chiffres, on peut encore ajouter chacun des chiffres de 0 à 9 en fin")
    print("à chacune des 9 premières solutions, soit encore 90 réponses supplémentaires...")    
    return

titre()
Dico_fonctions={"1":cherche_position,"2":somme_des_premiers_chiffres,"3":cherche_chaine}
while True:
    print("\n\n\n")
    print ("                       *** Voulez-vous ***")
    print()
    print ("    1. Rechercher un chiffre connaissant sa position")
    print ("    2. Connnaître la somme des n (quantité à donner) premiers chiffres")
    print ("    3. Rechercher toutes les occurrences d'une chaine à donner")
    print ()
    print ("    0. Quitter le programme")
    print()
    print ("                ",end=" ")
    chx=input("Votre choix : ")
    print("\n")
    if chx=="0":
        print ("              Au revoir !")
        break
    elif chx in["1","2","3"]:
        Dico_fonctions[chx]()
    else:
        pass
 

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#3 04-10-2019 18:42:19

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 13 790

Re : Variations sur le nombre de David Champer

Re,

Ma version d'hier soir était sérieusement bugguée...
Celle-là a été testée et retestée :


#!/usr/bin/env python
# coding: utf-8 -*-


from math import log
def titre():
    print("                    ***********************************")
    print("                    *    Variations sur le nombre     *")
    print("                    *              de                 *")
    print("                    *          David Champer          *")
    print("                    *            (v. 3)               *")
    print("                    ***********************************")

    print ("\n\nNombre de David Champer :")
    print("             0,123456789101112131415161718192302122232425627282930...")

def cherche_position():
    ######## Inscrire ci-dessous la position du chiffre à rechercher #########

    n=int(input("    Entrer la position du chiffre à rechercher : "))

    ##########################################################################

    i,lg=1,0
    while not lg>=n:
        lg+=int(log(i,10))+1
        i+=1
    lg_i=int(log(i,10))+1
    ecart = lg-n
    print("+-+ Le "+str(n)+"e chiffre décimal est",str(i)[lg_i-ecart-1],"+-+")
    return

def somme_des_premiers_chiffres():
    ######## Inscrire ci-dessous le nombre de chiffres à additionner #########

    nc=int(input("    Entrer le nombre de chiffres à additionner : "))

    ##########################################################################

    i,nb_chiffres,S, stop=1,0,0,0
    print("+-+ La somme des",nc, "premiers chiffres décimaux est :",end=" ")
    while not stop:
        lg_i=int(log(i,10))+1
        for x in range(lg_i):
            nb_chiffres+=1
            if nb_chiffres<=nc:
                S+=int(str(i)[x])    
            else:
                stop=1
                break
        i+=1
    print (S,"+-+\n\n")
    return

def ajout_devant(ch,CHD,cas):
    Vide=[]
    for i in range (1,10):
        if cas==0:
            print("             --> ",str(i)+ch)
            CHD.append(str(i)+ch)
        else:
            Vide.append(str(i)+ch)    
    return CHD,Vide

def ajout_fin_de_chaine(ch,CHF,cas):
    Vide=[]
    for i in range (0,10):      
        if cas==0:
            print("             -->  ",ch+str(i))
            CHF.append(ch+str(i))
        else:
            Vide.append(ch+str(i))
    return CHF,Vide

def cherche_chaine():
    ######## Inscrire ci-dessous la chaîne à rechercher #########

    #ch=input("    Entrer la chaîne à rechercher : ")
 
    #################################################################################

    print ("             +-+ Recherche de toutes les occurences de la chaîne", ch,"+-+\n")
    lch=len(ch)
    ln_ch=lch-1
    d=ch[0]+","
    print("Cette chaîne est constituée de", lch,"chiffres.")
    print("Le premier étant un",d,end=" ")
    if ch[0]!="0":    
        print("Le nombre", ch, "qui possède", lch,"chiffres est déjà une réponse en lui-même.\n")    
    else:        
        print ("il n'y a aucun nombre, à", lch,"chiffres, solution.\n")
    print ("                  Réponses incluses dans des nombres à",lch+1,"chiffres.")
    print ("  En ajoutant un chiffre de 1 à 9 en début de chaîne (1) :")
    CHD,CHF=[],[]
    CHD,Vide=ajout_devant(ch,CHD,0)
    print ()
    if ch[0]!="0":
        print ("  En ajoutant un chiffre de 0 à 9 en fin de chaîne (2) :")
        CHF,Vide=ajout_fin_de_chaine(ch,CHF,0)    
    else:
        print (" La chaîne commençant par 0, on ne peut ajouter de chiffre en fin de chaîne.")
    print ("\n                Réponses incluses dans des nombres à",lch+2,"chiffres.")

    print ("  En ajoutant un chiffre de 1 à 9 en début de chacune des 9 solutions de (1),")
    print("soit 81 réponses de plus...)")
    HD1=[]
    for i,ch in enumerate(CHD):
        CHD,Vide=ajout_devant(ch,CHD,1)
        HD1.append(Vide)
    for i in range(9):
        print("      ",end=" ")
        for j in range(9):
            if j<2 or j>7:
                print(HD1[j][i],end="    "*(j<9))
            elif j==2:
                print("."*(lch+2),end="    "*(j<9))
        print()
       
    if ch[0]!="0":
        print ("\n  En ajoutant un chiffre de 0 à 9 en fin de chacune des 10 solutions de (2),", end=" ")
        print ("soit 100 réponses supplémentaires...")
        HF1=[]
        for i,ch in enumerate(CHF):
            CHF,Vide=ajout_fin_de_chaine(ch,CHF,1)
            HF1.append(Vide)
        for i in range(10):
            print("      ",end=" ")
            for j in range(10):
                if j<2 or j>8:
                    print(HF1[j][i],end="    "*(j<9))
                elif j==2:
                    print("."*(lch+2),end="    "*(j<9))
            print()
    else:
        print ("\n La chaîne commençant par 0, on ne peut ajouter de chiffre en fin de chaîne.")  

    print("\nToujours avec", lch+2,"chiffres, on peut encore ajouter chacun des chiffres de 0 à 9 en fin")
    print("de chacune des 9  solutions (1), soit encore 90 réponses supplémentaires...")

    return

titre()
Dico_fonctions={"1":cherche_position,"2":somme_des_premiers_chiffres,"3":cherche_chaine}
while True:
    print("\n\n\n")
    print ("                       *** Voulez-vous ***")
    print()
    print ("    1. Rechercher un chiffre connaissant sa position")
    print ("    2. Connnaître la somme des n (quantité à donner) premiers chiffres")
    print ("    3. Rechercher toutes les occurrences d'une chaine à donner")
    print ()
    print ("    0. Quitter le programme")
    print()
    print ("                ",end=" ")
    chx=input("Votre choix : ")
    print("\n")
    if chx=="0":
        print ("              Au revoir !")
        break
    elif chx in["1","2","3"]:
        Dico_fonctions[chx]()
    else:
        pass
 

Avec mes excuses.

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

#4 05-10-2019 15:59:43

yoshi
Modo Ferox
Inscription : 20-11-2005
Messages : 13 790

Re : Variations sur le nombre de David Champer

Salut,

Nouvelle version, j'ai explicité la fin de l'option 3. en montrant quelques solutions obtenues en ajoutant chacun des chiffres de 1 à 9 en début de la chaîne entrée, et à chacun de de ces 9 résultats, chacun des chiffres des chiffres de 0 à 9 en fin de chacun des résultats obtenus et corrigé certaines imperfections.
Je vais réfléchir à ajouter des compléments de recherche aux options 1 et 2.


#!/usr/bin/env python
# coding: utf-8 -*-


from math import log
def titre():
    print("                    ***********************************")
    print("                    *            Variations sur le nombre             *")
    print("                    *                           de                             *")
    print("                    *                  David Champer                    *")
    print("                    *                      (v. 3.1)                           *")
    print("                    ***********************************")

    print ("\n\nNombre de David Champer :")
    print("             0,123456789101112131415161718192302122232425627282930...")

def cherche_position():
    ######## Inscrire ci-dessous la position du chiffre à rechercher #########

    n=int(input("    Entrer la position du chiffre à rechercher : "))

    ##########################################################################
    print("\n\n")
    i,lg=1,0
    while not lg>=n:
        lg+=int(log(i,10))+1
        i+=1
    lg_i=int(log(i,10))+1
    ecart = lg-n
    print("+-+ Le "+str(n)+"e chiffre décimal est",str(i)[lg_i-ecart-1],"+-+")
    return


def somme_des_premiers_chiffres():
    ######## Inscrire ci-dessous le nombre de chiffres à additionner #########

    nc=int(input("    Entrer le nombre de chiffres à additionner : "))

    ##########################################################################
    print("\n\n")
    i,nb_chiffres,S, stop=1,0,0,0
    print("+-+ La somme des",nc, "premiers chiffres décimaux est :",end=" ")
    while not stop:
        lg_i=int(log(i,10))+1
        for x in range(lg_i):
            nb_chiffres+=1
            if nb_chiffres<=nc:
                S+=int(str(i)[x])    
            else:
                stop=1
                break
        i+=1
    print (S,"+-+\n\n")
    return

def ajout_devant(ch,CHD,cas):
    Vide=[]
    for i in range (1,10):
        if cas==0:
            print("             --> ",str(i)+ch)
            CHD.append(str(i)+ch)
        else:
            Vide.append(str(i)+ch)    
    return CHD,Vide

def ajout_fin_de_chaine(ch,CHF,cas):
    Vide=[]
    for i in range (0,10):      
        if cas==0:
            print("             -->  ",ch+str(i))
            CHF.append(ch+str(i))
        else:
            Vide.append(ch+str(i))
    return CHF,Vide


def affiche_4_colonnes(CH,lg,a,b):
    for i in range(9+a):
            print("      ",end=" ")
            for j in [0,1,2,8+b]:
                if j==2:
                    print("."*(lg),end="    "*(j<9))                
                else:                  
                    print(CH[j][i],end="    "*(j<9))
            print()
   

def Zero(ch):
    print ("\n La chaîne",ch,"commençant par 0, on ne peut lui ajouter de chiffre(s) à la fin.")

   
def cherche_chaine():
    ######## Inscrire ci-dessous la chaîne à rechercher #########

    ch=input("    Entrer la chaîne à rechercher : ")
   
    #################################################################################
    print("\n\n")
    print ("             +-+ Recherche de toutes les occurences de la chaîne", ch,"+-+\n")
    lch=len(ch)
    ln_ch=lch-1
    d=ch[0]+","

    print("Le premier chiffre étant un",d,end=" ")
    if ch[0]!="0":    
        print("le nombre", ch, "qui possède", lch,"chiffres est déjà une réponse en lui-même.")    
    else:        
        print ("il n'y a aucun nombre à", lch,"chiffres, qui soit solution.")

    print ("\n              ** Réponses incluses dans des nombres à",lch+1,"chiffres **\n")
    print ("(1)  En ajoutant un chiffre de 1 à 9 en début de chaîne :")
    CHD,CHF=[],[]
    CHD,Vide=ajout_devant(ch,CHD,0)
   
    if ch[0]!="0":
        print ("\n(2)  En ajoutant un chiffre de 0 à 9 en fin de chaîne :")
        CHF,Vide=ajout_fin_de_chaine(ch,CHF,0)      
    else:
        Zero(ch)

    print ("\n               ** Réponses incluses dans des nombres à",lch+2,"chiffres. **\n")
    print ("  En ajoutant un chiffre de 1 à 9 en début de chacune des 9 solutions de (1),")
    print("soit 81 réponses de plus...)")
    HD1=[]
    for i,chd in enumerate(CHD):
        CHD,Vide=ajout_devant(chd,CHD,1)
        HD1.append(Vide)
    affiche_4_colonnes(HD1,lch+1,0,0)
       
    if ch[0]!="0":
        print ("\n  En ajoutant un chiffre de 0 à 9 en fin de chacune des 10 solutions de (2),")
        print ("soit 100 réponses supplémentaires...")
        HF1=[]
        for i,ch in enumerate(CHF):
            CHF,Vide=ajout_fin_de_chaine(ch,CHF,1)
            HF1.append(Vide)
        affiche_4_colonnes(HF1,lch+1,1,1)
    else:
        Zero(ch)
         
    print("\nToujours avec", lch+2,"chiffres, on peut aussi ajouter chacun des chiffres de 0 à 9 en fin")
    print("de chacune des 9 solutions de (1), soit encore 90 réponses supplémentaires...\n")
    HF1=[]
    for i,chd in enumerate(CHD):
        CHF,Vide=ajout_fin_de_chaine(chd,CHF,1)
        HF1.append(Vide)
    affiche_4_colonnes(HF1,lch+2,1,0)
    print("\nOn peut poursuivre ce même procédé à l'infini avec,",str(lch+3)+",",str(lch+4)+",",str(lch+5)+" etc.. chiffres...")
    return


titre()
Dico_fonctions={"1":cherche_position,"2":somme_des_premiers_chiffres,"3":cherche_chaine}
while True:
    print("\n\n\n")
    print ("                       *** Voulez-vous ***")
    print()
    print ("    1. Rechercher un chiffre connaissant sa position")
    print ("    2. Connnaître la somme des n (quantité à donner) premiers chiffres")
    print ("    3. Rechercher toutes les occurrences d'une chaine à donner")
    print ()
    print ("    0. Quitter le programme")
    print()
    print ("                ",end=" ")
    chx=input("Votre choix : ")
    print("\n")
    if chx=="0":
        print ("              Au revoir !")
        break
    elif chx in["1","2","3"]:
        Dico_fonctions[chx]()
    else:
        pass
 


Résultats
Option 1 et 2

           
                    ***********************************
                    *    Variations sur le nombre     *
                    *              de                 *
                    *          David Champer          *
                    *            (v. 3.1)             *
                    ***********************************


Nombre de David Champer :
             0,123456789101112131415161718192302122232425627282930...


                       *** Voulez-vous ***

    1. Rechercher un chiffre connaissant sa position
    2. Connnaître la somme des n (quantité à donner) premiers chiffres
    3. Rechercher toutes les occurrences d'une chaine à donner

    0. Quitter le programme

                 Votre choix : 1


    Entrer la position du chiffre à rechercher : 1000

+-+ Le 1000e chiffre décimal est 3 +-+


                       *** Voulez-vous ***

    1. Rechercher un chiffre connaissant sa position
    2. Connnaître la somme des n (quantité à donner) premiers chiffres
    3. Rechercher toutes les occurrences d'une chaine à donner

    0. Quitter le programme

                 Votre choix : 2


    Entrer le nombre de chiffres à additionner : 54321

+-+ La somme des 54321 premiers chiffres décimaux est : 227551 +-+




Option 3
2 cas : chaîne commençant par 0 et commençant par un chiffre de 1 à 9

   
    Entrer la chaîne à rechercher : 01527

             +-+ Recherche de toutes les occurences de la chaîne 01527 +-+

Le premier chiffre étant un 0, il n'y a aucun nombre à 5 chiffres, qui soit solution.

              ** Réponses incluses dans des nombres à 6 chiffres **

(1)  En ajoutant un chiffre de 1 à 9 en début de chaîne :
             -->  101527
             -->  201527
             -->  301527
             -->  401527
             -->  501527
             -->  601527
             -->  701527
             -->  801527
             -->  901527

 La chaîne 01527 commençant par 0, on ne peut lui ajouter de chiffre(s) à la fin.

               ** Réponses incluses dans des nombres à 7 chiffres. **

  En ajoutant un chiffre de 1 à 9 en début de chacune des 9 solutions de (1),
soit 81 réponses de plus...)
       1101527    1201527    ......    1901527    
       2101527    2201527    ......    2901527    
       3101527    3201527    ......    3901527    
       4101527    4201527    ......    4901527    
       5101527    5201527    ......    5901527    
       6101527    6201527    ......    6901527    
       7101527    7201527    ......    7901527    
       8101527    8201527    ......    8901527    
       9101527    9201527    ......    9901527    

 La chaîne 01527 commençant par 0, on ne peut lui ajouter de chiffre(s) à la fin.

Toujours avec 7 chiffres, on peut aussi ajouter chacun des chiffres de 0 à 9 en fin
de chacune des 9 solutions de (1), soit encore 90 réponses supplémentaires...

       1015270    2015270    .......    9015270    
       1015271    2015271    .......    9015271    
       1015272    2015272    .......    9015272    
       1015273    2015273    .......    9015273    
       1015274    2015274    .......    9015274    
       1015275    2015275    .......    9015275    
       1015276    2015276    .......    9015276    
       1015277    2015277    .......    9015277    
       1015278    2015278    .......    9015278    
       1015279    2015279    .......    9015279    

On peut poursuivre ce même procédé à l'infini avec, 8, 9, 10 etc.. chiffres...


    Entrer la chaîne à rechercher : 81527

             +-+ Recherche de toutes les occurences de la chaîne 81527 +-+

Le premier chiffre étant un 8, le nombre 81527 qui possède 5 chiffres est déjà une réponse en lui-même.

              ** Réponses incluses dans des nombres à 6 chiffres **

(1)  En ajoutant un chiffre de 1 à 9 en début de chaîne :
             -->  181527
             -->  281527
             -->  381527
             -->  481527
             -->  581527
             -->  681527
             -->  781527
             -->  881527
             -->  981527

(2)  En ajoutant un chiffre de 0 à 9 en fin de chaîne :
             -->   815270
             -->   815271
             -->   815272
             -->   815273
             -->   815274
             -->   815275
             -->   815276
             -->   815277
             -->   815278
             -->   815279

               ** Réponses incluses dans des nombres à 7 chiffres. **

  En ajoutant un chiffre de 1 à 9 en début de chacune des 9 solutions de (1),
soit 81 réponses de plus...)
       1181527    1281527    ......    1981527    
       2181527    2281527    ......    2981527    
       3181527    3281527    ......    3981527    
       4181527    4281527    ......    4981527    
       5181527    5281527    ......    5981527    
       6181527    6281527    ......    6981527    
       7181527    7281527    ......    7981527    
       8181527    8281527    ......    8981527    
       9181527    9281527    ......    9981527    

  En ajoutant un chiffre de 0 à 9 en fin de chacune des 10 solutions de (2),
soit 100 réponses supplémentaires...
       8152700    8152710    ......    8152790
       8152701    8152711    ......    8152791
       8152702    8152712    ......    8152792
       8152703    8152713    ......    8152793
       8152704    8152714    ......    8152794
       8152705    8152715    ......    8152795
       8152706    8152716    ......    8152796
       8152707    8152717    ......    8152797
       8152708    8152718    ......    8152798
       8152709    8152719    ......    8152799

Toujours avec 7 chiffres, on peut aussi ajouter chacun des chiffres de 0 à 9 en fin
de chacune des 9 solutions de (1), soit encore 90 réponses supplémentaires...

       1815270    2815270    .......    9815270    
       1815271    2815271    .......    9815271    
       1815272    2815272    .......    9815272    
       1815273    2815273    .......    9815273    
       1815274    2815274    .......    9815274    
       1815275    2815275    .......    9815275    
       1815276    2815276    .......    9815276    
       1815277    2815277    .......    9815277    
       1815278    2815278    .......    9815278    
       1815279    2815279    .......    9815279    

On peut poursuivre ce même procédé à l'infini avec, 8, 9, 10 etc.. chiffres...
 

Si vous aviez une suggestion de recherche, ou découvert une erreur, merci de me le signaler...

@+


Arx Tarpeia Capitoli proxima...

Hors ligne

Réponse rapide

Veuillez composer votre message et l'envoyer
Nom (obligatoire)

E-mail (obligatoire)

Message (obligatoire)

Programme anti-spam : Afin de lutter contre le spam, nous vous demandons de bien vouloir répondre à la question suivante. Après inscription sur le site, vous n'aurez plus à répondre à ces questions.

Quel est le résultat de l'opération suivante (donner le résultat en chiffres)?
quatre-vingt dix-neuf plus soixante dix
Système anti-bot

Faites glisser le curseur de gauche à droite pour activer le bouton de confirmation.

Attention : Vous devez activer Javascript dans votre navigateur pour utiliser le système anti-bot.

Pied de page des forums