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).

Répondre

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)?
neuf plus quatre-vingt quatre
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.

Retour

Résumé de la discussion (messages les plus récents en premier)

yoshi
05-10-2019 16:19:51

Bonjour,

Ces résultats sont exacts, mais il y avait bien plus simple...
Programmer m'a permis d'y voir plus clair. Dernière version fiable cette fois : http://www.bibmath.net/forums/viewtopic … 197#p79197, post #4
J'ai ajouté un menu permettant de choisir de répondre à chacune des 3 questions indépendamment.
Je sus vraiment confus et présente mes excuses à Tania pour avoir tant patauger dans l'option 3.
Un exemple :

   
    Entrer la chaîne à rechercher : 01527

             +-+ Recherche de toutes les occurrences 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...
 

@+

yoshi
01-10-2019 15:18:54

Salut Tania,


Oui, le logarithme c'est le programme de terminale avec option Math.
tu fais allusion à cette ligne :
lg_i=int(log(i,10))+1
Le log me donne un nombre décimal, dont je prends la partie entière et à laquelle j'ajoute 1 ; pour quoi faire ?
Pour avoir la longueur du nombre i...
int(log(12345870197, 10)+1 --> 11 : ce nombre a donc 11 chiffres.
J'aurais pu :
- le convertir en une chaîne : str(12345870197)
- puis en demande la longueur via : len(str(12345870197))  --> qui me donne 11.
J'ai employé le log, pour ne pas toujours utiliser la même technique : je varie les plaisirs de temps en temps...

Ici j'ai utilisé le logarithme à base 10 en math, on écrirait : $\log_{10}(12345870197)$
Avec Python, l'écriture donc différente.
La particularité du log à base 10 est que log(10,10)=1.
Et quel que soit la base b  du logarithme, on a $log_b{a^n} = n\times log(a)$
Donc avec b = 10, on a : $\log_{10}(1000)=\log_{10}(10^3)=3\times \log_{10}(10)=3 \times 1 =3$
Et je rajoute 1 parce que 3 étant l'exposant, on est dans les milliers, donc 4 chiffres : il y a toujours 1 chiffre de plus que l'indique l'exposant.
$1,2478 \times 10^5  possède 6 chiffres : $1,2478 \times 10^5 = 124780$...
le log donne très rarement un nombre entier, donc j'en prends la partie entière puis j'ajoute 1 (à cause de ce que j'ai écrit au-dessus)

C'est pas un cours sur les logs, hein ! Juste quelques ligne pour que tu comprennes un peu ce que j'ai bricolé...
Pour le programme total en sous forum programmation, je me suis aperçu ce matin que pour la recherche d'une chaine, il y a d'autres solutions supplémentaires auxquelles je n'avais pas pensé.
Les solutions que donne le programme sont en gardant le même nombre de chiffres que celui de la chaîne recherchée...
Dans le case de recherche de "06082004", puisque la chaîne commence par un 0, il n'y aura pas d'autres solutions à 8 chiffres.
Si je cherche "16082004" et bien il manquera une : le nombre 16082004 lui-même...

Et si je garde "06082004" et que je rajoute au choix devant : 1, 2, 3, 4, 5, 6, 7, 8 ou 9 : il y aura encore comme solutions, les nombres
106082004, 206082004, 306082004, 406082004, 506082004, 606082004, 706082004, 806082004 et 906082004
qui sont des nombres présents tels quels dans la suite de David Champer...

Je suis en train de corriger cela...

Si je rentre 06082004 dans mon programme, voilà ses deux premières réponses :

+-+ Recherche de toutes les occurrences de la chaîne 06082004 +-+
En utilisant 8 chiffres seulement :
    --> Avec le 0 en place des unités,
la chaîne 06082004 est comprise dans les 2 nombres consécutifs juxtaposés 6082004060820041

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

En place des unités signifie que je pars de :
+++++++0   et  6082004+
Le suivant de 0 est 1 donc j'ai 60820041 et le nombre qui précède est 60820040 et je présente les 2 nombres consécutifs ainsi :
6082004060820041

En place des dizaines signifie que je pars de :
+++++++06   et  082004++
Tiens encore une erreur:
Le suivant de 6 est 7 donc j'ai 08200407 et le nombre qui précède est 08200406 et jje voisq qy'aucun nombre à 8 chiffres ne peut commencer par 0...

Mais .a marche de nouveau en place des centaines :
+++++060  et  82004+++
060 est suivi de 061   donc 82004061 puis  82004060
Résultat : 82004060 82004061

Il y a encore deux autres résultats valables...

@+

Tania
01-10-2019 09:38:50

Je vois que tu as utilisé log dans le programme pour determiner la nième decimal du coup c'est du niveau terminal ?

Tania
01-10-2019 09:35:35

Bonjour Yoshi, j'ai bien reçu tes messages mais j'ai besoin de temps pour digérer et tester aussi sur python... Merci c'est tellement bien expliqué

yoshi
30-09-2019 18:32:00

Bonsoir Tania,

j'espère que je ne t'ai pas dégoûtée...
J'ai travaillé pour toi.
Les petits morceaux de script que je t'ai posés hier avaient un défaut :
- Tu ne pouvais pas aller plus loin que le 38889e chiffre
- Tu ne pouvais pas chercher la somme de plus de 38889 chiffres
- Tu ne pouvais pas chercher la présence d'une chaîne d'une longueur autre que 4 chiffres.
J'ai refait le tout en un seul programme  pour ne pas avoir à construire et utiliser la chaîne Decimales (limitée de plus à 38889 chiffres).

Tu trouveras le programme complet ici : http://www.bibmath.net/forums/viewtopic … 073#p79073
Si hier, les instructions utilisées étaient vraiment basiques, cette fois c'est un plus élaboré : pas sûr que tu comprennes tout du premier coup...

Voilà ce qu'il permet d'obtenir :

.
          ***********************************
          *          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

@+

yoshi
29-09-2019 18:55:58

uitB'soir,

Puisque t'as pas peur du Python, voilà en mode console avec l'IDLE :


>>> Decimales=""
>>> for i in range(1, 10000):
        Decimales+=str(i)

       
>>> print(len(Decimales))
38889
>>> n=1000
>>> print (Decimales[n-1])
3
>>>
 

Valable pour tout n entre 1 et 38889...
Pourquoi n-1 ?
Parce que la 1ere décimale a pour position 0 : que ce soit liste ou chaîne de caractères, Python commence la numérotation à 0.

Somme des 49 premières décimales (à utiliser à la suite de ce qui précède) :


>>> S=0
>>> for x in range(0,49):
        S+=int(Decimales[x]

>> print (S)
165
 

Positions de la chaîne "0125" (encore à la suite)


>>> i=3
>>> for x in range(0,38885):
  chaine=Decimales[x: x+4]
  if chaine=="0125":
    print("Position :",x," Les deux nombres consécutifs sont :", Decimales[x-i:x-i+8])
                i-=1

Position : 3892  Les deux nombres consécutifs sont : 12501251
Position : 8895  Les deux nombres consécutifs sont : 25012502
Position : 18938  Les deux nombres consécutifs sont : 50125013

Explications supplémentaires
Decimales+=str(x)
Si j'ai 12 et 13, 12+13 =25. Mais moi je veux 1213, donc, je dois ajouter (on dit concaténer) des chaînes de caractère, sonc je convertis le nombre x en une chaîne avec str(x)  (str de l'anglais string ficelle ou ici chaîne)

len de l'anglais length longueur.
donc le n ne doit pas dépasser 38889 : de 0 à 38888, il y a bien 38889 chifres les uns à la suite des autres...
donc je demande d'écrire le chiffre à la position n-1 : Decimales[n-1]...

La fonction int() de l'anglais integer = entier
- soit prend la partie entière d'un nombre décimal
- soit convertit une chaîne de caractères ne contenant que des chiffres en un nombre entier.
  j'étais obligé d'en passer par là pour faire le calcul de la somme.
Mais
je dois au début dire que cette somme vaut 0.
Puis j'additionne l'une après l'autre la valeur de la chaine de caractère de 0 à 48 (ça fait bien 49)
Rappelle-toi, en Python, la fin d'une boucle est toujours inférieure de 1 à ce qui écrit (sinon de 0 à 49, ça fait 50)...

Explications de la suite demain, si ça t'intrigue...

@+

Tania
29-09-2019 17:32:04

J'etais pourtant très satisfaite de tes retours mais je nai pas pris le temps de l'ecrire et ca cest une belle erreur !
Je fais une petite pause et je reprends tout ça ce soir ! J'essayais de trouver un moyen de faire un programme sur python pour creer un algo qui renvoie le chiffre de la nieme decimale du nbre de campernowne mais j'ai abondonné ca ne doit pas être de mon niveau.

yoshi
29-09-2019 16:31:41

Re,

C'est bien de revenir : tu ne l'as pas fait les fois précédentes et c'est frustrant pour celui qui donne de son temps...

Bon, sinon où en es-tu ?

@+

Tania
29-09-2019 15:33:27

Merci énormément pour tes explications et tes corrections Yoshi ! Je n'ai pas l'habitude de ce type d'exercices ouverts

yoshi
29-09-2019 12:50:37

Re,

Bon, bin pas évident du tout...
La complication vient du zéro initial
Pour débroussailler le terrain, je prends un groupe de chiffres moins long : "0125" (je sais ça ne correspond pas à un  morceau de date de naissance...)
Aucun nombre ne commence par un zéro... Donc le zéro est forcément une partie du nombre précédent.
Ce nombre peut-il être compris entre 10 et 99 (inclus)  ?
Non. Répartitions : 01 25 : ne va pas (ne se suivent pas), 0 12 5 : ne va pas (ne se suivront pas).
Ce nombre peut-il avoir 3 chiffres ?
Non.
Répartitions :
(x, y, z et t sont des chiffres)
0 125 : ne va pas (le précédent de 125 est 124, ne se termine pas par 0).
x01 25y : ne va pas (le précédent de de 25y est soit 25z (avec z <y), soit y =0, 24z)
012 5xy : 012 est impossible.

Donc il faut chercher dans les nombres à 4 chiffres donc on peut avoir :
Répartitions
xyz0  et 125t : il est clair que la différence entre ces deux nombres est 1.
Et 125t est à choisir entre
1250, 1251, 1252, 1243, 1254, 155, 1256, 1257, 1258, 1259
E t le précédent est dans l'ordre
1249.  Refusé : 1249 1250 1251 e t il n'y aura plus de zéros à la fin avec 125x et x>1
Par contre, je vois nettement :
1250 1251
Donc 0125 ici est composé du zéro terminal du nombre précédant 125x, et des premiers du suivant.
Donc 11250 et 1251
Y en a-t-il d'autres terminés par 0 ? Non sinon on n'aura pas 125x...

Oui, mais le zéro peut être ailleurs, non ?
Oui en dizaine en en centaine : deux autres solutions donc...
- En dizaine :
    xy01 et 25zt sont des nombres qui se suivent, donc après 01 il y a 02, 25zt--> 2502, mais le précédent de 2502 est 2501.
    Cela convient-il  ? 2501 2502. Oui.
    Y en a t-il d'autres avec 0 comme dizaine ? Ci-dessus, cela prouve que non...
- En centaine (0 n'est pas en millier) :
   les deux nombres ont cette forme : x012  et 5yzt. après 012 il y a 013
   D'où 5yzt --> 5013   mais le précédent de 5013 est 5012.  On a donc : 5012 5013

Maintenant il ne reste plus qu'à appliquer ce raisonnement à "06082004"... pas facile à faire...
Mais la curiosité et l'intérêt que tu portes à ce genre d'énigme mathématique (montré dans tes sujets précédents) t'aideront...

@+

yoshi
29-09-2019 11:06:30

Bonjour,

la 1000ème décimale correspond à la (1000-9-180) ème rang dans la liste de 100 à 999. Soit le 811ème rang.
Pour savoir on divise par 3 pour connaitre combien il y a de nombre à chiffres pour atteindre le 811ème rang.

811/3~270.333...

Q1
Tu dois simplement faire remarquer que de 1 99 tu as constaté (ce que tu as fait) cela constitue seulement 189 décimales, donc le nombre contenant la 1000e décimale est >= 100
Tu as besoin de la borne supérieure : de 100 à 999 il y 900 chiffres soit 2700 chiffres
Le nombre auquel appartient la 1000e décimale est donc inférieur ou égal à 999, c'est donc un nombre à 3 chiffres.
Donc de 100 à la décimale cherchée, on compte 1000-189= 811 chiffres...
Le nombre entier de groupes de 3 chiffres correspond au quotient euclidien de la division de 811 par 3 :
[tex]811 = 270 \times 3 +1[/tex]
La 1000e décimale est donc le 1er chiffre du 271e nombre qui suit 99...
Cette écriture-là : 811/3~270.333... est une horreur

Q2
De 1 à 9 : 1+2+3+4+5+6+7+8+9 = 45
De 10 à 99 : on ne s’intéresse qu'au 40 premières décimales donc aux 40/2=20, 20 premiers nombres allant de 10 à 30.
J'espère que tu n'as voulu dire que de 10 à 30 il y a 20 nombres...
C'est vrai si 30 est exclu, faux si 30 est inclus
Tu n'as qu'à dire simplement que tu additionnes ensuite tous les chiffres jusqu'au 2e chiffre du 20e qui suit 9
Quant à faire la somme, un peu de rigueur ne fait pas de mal :
- à place des dizaines il y a 10 fois le chiffre 1 et 10 fois le chiffre 2 (on s'arrête à 29).
- à la place des unités, il y a 1 fois chaque chiffre de 1 à 9 par dizaine complète, soit 2 fois la somme de 1 à 9


Pour la Q3 je regarde ça de plus près et je reviens.
Mais déjà :

oui car 06082004 ça être encadré par ...06082003 et ...06082005

n'est pas une réponse satisfaisante.
Parce que moi, à la la place de ton prof, j'écrirais en dessous !
Et si je te demande comment tu sais que 06082003 existe, me répondras-tu :

il existe car 06082003 ça être encadré par ...06082002 et ...06082004 ?
Tu vois où je veux en venir ?

@+

Tania
29-09-2019 02:50:18

Bonjour,

J'ai beaucoup de difficultés dans la rédaction et le raisonnement des réponses à cet exercices. Pouvez-vous m'aider à y mettre plus de rigueur.
Soit C=0.12345678910111213141516171819202122232425 ... (cste de David Champer.)

1) Quelle est la 1000ème ?

De 1 à 9 : il y a 9 décimales
De 10 à 99 : il y a (99-9)*2 = 180 décimales
De 100 à 999 : il y a (999-99)*3 = 2700 décimales

la 1000ème décimale correspond à la (1000-9-180) ème rang dans la liste de 100 à 999. Soit le 811ème rang.
Pour savoir on divise par 3 pour connaitre combien il y a de nombre à chiffres pour atteindre le 811ème rang.

811/3~270.333...

le nombre est 270.333+100~370.3

La 1000ème est donc 3.

(ma rédaction n'est pas claire)

2)  Déterminer la somme des 49 premières décimales?

De 1 à 9 : 1+2+3+4+5+6+7+8+9 = 45
De 10 à 99 : on ne s’intéresse qu'au 40 premières décimales donc aux 40/2=20, 20 premiers nombres allant de 10 à 30.
                  1+0+1+1+1+2+1+3+...+2+0+2+1+2+3+ ... 3+0= (1*10)+(1+2+3+4+5+6+7+8+9) + (2*10)+(1+2+3+4+5+6+7+8+9)=10+45+20+45=


3) Pouvez-vous trouver votre date d'anniversaire (06082004) dans les décimales de C? Si oui combien de fois ? Expliquer votre réponse.

oui car 06082004 ça être encadré par ...06082003 et ...06082005 , combien de fois ?

Pied de page des forums