NOMBRES - Curiosités, théorie et usages

 

Accueil                           DicoNombre            Rubriques           Nouveautés      Édition du: 08/12/2016

Orientation générale        DicoMot Math          Atlas                   Références                     M'écrire

Barre de recherche          DicoCulture              Index alphabétique                               

     

Informatique

 

Débutants

Programmation

Programmation

 

Glossaire

Algorithme

 

INDEX

 

Programmation

 

Algorithmes

 

Multimédia

 

<<< Liste

Chiffres

Procédure >>>

Extraction des chiffres et retournement

Extraction des chiffres d'un nombre périodique

 

Sommaire de cette page

>>> Instruction dédiée

>>> Calcul par formulation

>>> Calcul du retourné

>>> Identification des chiffres présents et quantités

 

 

 

 

 

Extraire les chiffres d'un nombre

et les retourner

  

Plusieurs possibilités:

Pas à pas

 

Extraction des unités puis des dizaines, etc.

 

 

Programmation la plus simple possible. À voir comme exercices de programmation.

 

>>>

Algébrique

 

Extraction directe par évaluation d'une expression algébrique (une formule).

 

Programmation avec instructions avancées de sommation.

 

>>>

Instruction dédiée

 

Extraction par conversion  en base 10.

 

 

Programmation avec instructions prévues pour (dédiées).

 

>>>

 

 

 

Instruction dédiée

 

Avec Maple, et sans doute avec la plupart des logiciels mathématiques, on obtient immédiatement les chiffres d'un nombre en faisant une conversion à base 10.

 

Comment remettre les chiffres dans le bon ordre?

 

Voici un programme mettant en œuvre deux conversions en base 10 .

(voir optimisation plus bas).

 

La liste N contient donc les chiffres du nombre nb, mais à l'envers.

On calcule son retourné r en prenant chacun des chiffre trouvé N[i] multiplié par la puissance 10 correspondant à son rang dans le retourné (q –i).

Il suffit de convertir à nouveau en base 10 pour obtenir la liste des chiffres dans l'ordre ordinaire.

 

Note: On aurait pu créer directement la nouvelle liste NN à partir de N. Pas plus simple.

 

 

 

 

 

Calcul par formulation

 

Formule

L'idée serait d'avoir une formule qui calcule directement les chiffres. Elle existe.

 

Le kième chiffre d'un nombre nb de q chiffres est égal au reste de la division par 10 (mod 10) de l'arrondi par le bas (plancher) du nombre divisé par 10 à la puissance  (q-k).

Le rang k étant compté de 1 à k de gauche à droite.

 

 

 

La puissance (q – k) s'explique du fait que les puissances de 10 vont croissant vers la gauche.

Les crochets vers le bas signifient que l'on ne conserve que l'entier en éliminant les virgules (valeur-plancher ou floor en anglais).

 

Recherche d'un chiffre

Application de la formule

 

On divise le nombre par la puissance de 10 correspondant à la position (q – k) du chiffre cherché .
Ex 789123 / 103 = 789,123
Sa valeur plancher (floor): 789
Son reste en le visant par 10 (mod 10 ): 9

 

 

 

 

Le 3e chiffre de 789 123, un nombre à q = 6 chiffres, est 9.

 

 

 

Quantité de chiffres

 Comment éviter d'avoir à préciser la quantité de chiffres (q)

 

Le logarithme en base 10  va servir. En effet:

*       log10(  100) = 2

*       log10(1000) = 3

*       Ce qui veut dire que le log10 d'un nombre entre 100 et 999 sera en 2, …

D'où la formule: q est l'entier + 1 obtenu en prenant le log 10 du nombre.

 

 

 

 

La quantité de chiffres du nombre n est égale à la valeur-plancher (floor) de la valeur (evalf) du logarithme base 10 de n, plus 1.

Formulation sur tableur

 

En F1 => =PLANCHER(LOG(E1);1)+1

En F3 => =MOD(PLANCHER($E$1/10^($F$1-F2);1);10)

 

 

 

Liste des chiffres

 Comment obtenir automatiquement toute la liste des chiffres.

 

On calcule le nombre q de chiffres.

Puis, on lance la création d'une liste (séquence) pour k de 1 à q, chaque nombre de la liste est un chiffre du nombre calculé comme ci-dessus.

 

 

L'instruction seq calcule la fonction indiquée et cela pour chacune des valeurs de k de 1 à q.

 

 

 

Calcul du retourné

 

Le retourné d'un nombre est ce nombre avec tous les chiffres dans le sens inverse.

 

Si l'on dispose de l'instruction de conversion, le calcul est immédiat.

Comme l'instruction seq, l'instruction sum calcule chacune des valeurs pour i de 1 à q. En plus elle le somme

 

Le nombre est transformé en liste et la somme pondéré par les puissance de dix donne le nombre retourné.

Recherche de palindromes

 

Il suffit de tester l'égalité entre le nombre n et son retourné r.

Retournement d'une liste

 

Le moyen le plus simple pour inverser l'ordre des nombres dans une liste.

 

 

Extraction rapide des chiffres

 

il s'agit d'extraire les chiffres d'un nombre dans une liste et dans le bon ordre.

Voir Recherche de Palintiples

 

 

Les carrément réversibles: R(n²) = R(Rn²)

 

 

 

Voir Nombres carrément réversibles

 

Recherche

On cherche les nombres tel que

*       102 dont le carré est 10404, et

*       201 a pour retourné  40401

 

Procédure

On implante le programme vu ci-dessus dans une procédure nommée Retour. Sorte de nouvelle instruction qui calcule le retourné d'un nombre.

 

Programme

Le programme de recherche appelle cette procédure Retour pour le retourné de n² et aussi pour le retourné de n que l'on porte au carré.

 

Sortie de n si  ces deux nombres sont égaux.

 

On a pris la précaution d'éliminer les nombres divisibles par 10 (terminés par des 0) et aussi ceux qui doublonnent comme 201 pour 102.

 

Les valeurs de n qui répondent au critère sont placées dans la liste L.

 

Le compteur kt indique la quantité de cas trouvés.

 

Pour n de 100 à 150, le programme indique huit valeurs.

 

Exemple:

122² = 14884 

221² = 48841

 

5 cas dont 8 comportant le chifre3

Les trois pères de famille

Les nombres pilotes sont 11, 12 et 13, tous les autres en découlent en intercalent 0, 1,2 ou 3.

de 10 000

à 100 000

 

8 fois le chiffre 3

de 100 000

à 1 000 000

 

20 fois le chiffre 3

de 1 000 000

à 10 000 000

 

Ils sont 491 entre 10 millions et 100 millions.

 

Le chiffre 3 se fait de plus en plus rare.

 

Merci à Georges Vidiani et à Michel L. pour leurs contributions

 

 

 

 

Identification des chiffres présents et quantités

Comment identifier les types de chiffres présents?

 

La conversion en base 10 donne la liste des chiffres. Sa conversion en un ensemble ne retient qu'un représentant de chaque chiffre.

 

Les { } demandent un ensemble et op permet de sélectionner tous les éléments de la liste.

 

Quantité de chiffres de chaque type

 

Le premier nombre de la  liste Q donne la quantité de 0, puis celle de1, etc.

On examine chaque nombre ni

Si n vaut 3, par exemple, on ajoute 1 au quatrième nombre dans Q, celui qui indique la quantité de 3 dans le nombre.

Voir Redondance pour comparaison avec les chiffres 

 

 

 

 

 

 

Retour

*    Programmation et chiffres – Exercices

Suite

*    Procédures

*    Nombres retournés

*    Menu en en-tête

Voir

*    Chiffres

*    Chiffres – Jeux

*    ProgrammationIndex

*    Unités des nombres

Aussi

*    Programmation – En savoir un peu plus

Cette page

http://villemin.gerard.free.fr/aInforma/081Chiff.htm