Racines numériques
GW-Basic, utilisé par PC-Basic
Programme avec Texte Seulement
PC-BASIC
Prenez un nombre, disons 7541. Additionnez ses quatre chiffres ensemble, ce qui nous donne 17. Maintenant additionnez les chiffres de 17 : la somme est 8. Additionnez les chiffres du nombre, puis ajoutez les chiffres de la somme, à plusieurs reprises, jusqu'à ce qu'une somme à un chiffre soit obtenue s'appelle rejeter des neufs (puisqu'un multiple de neuf est supprimé à chaque itération).
La somme à un chiffre qui en résulte est appelée la racine numérique. Ainsi, la racine numérique de 7541 est 8. La persistance additive est le nombre d'itérations nécessaires pour obtenir la racine numérique; puisque deux itérations nous ont donné la racine numérique de 7541, 7541 a une persistance additive de 2.
Les racines numériques peuvent être utilisées pour vérifier l'exactitude d'opérations arithmétiques simples, telles que l'addition, la soustraction et la multiplication.
Par exemple, 7541+243 = 7784. La racine numérique de 7784 est 8, et la somme des racines numériques de 8 (qui est la racine numérique de 7541) et 9 (qui est la racine numérique de 243) est égale à 17, ce qui, pas par coïncidence, a également une racine numérique de 8.
Ainsi, la racine numérique de la somme d'un ensemble de racines numériques de nombres doit être la même que la racine numérique de l'ensemble de somme de nombres; si ces racines numériques ne correspondent pas, c'est qu'il y a un problème avec votre arithmétique.
Mais réalisez que même si les racines numériques correspondent, cela ne garantit pas que l'arithmétique est correcte, car la commutation de deux chiffres d'un nombre n'affectera pas les sommes des chiffres : par exemple, 7541 et 7451 ont tous deux des racines numériques de 8.
DIGROOT.BAS donne la racine numérique d'un nombre et sa persistance additive en un clin d'œil, ce qui vous laisse plus de temps pour expérimenter les racines numériques et explorer leurs propriétés.
Notez, tout d'abord, que le nombre que vous saisissez n'est pas stocké dans une variable numérique, il est stocké dans une variable chaîne, appelée NUM$; c'est pour faciliter le processus d'examen de chaque chiffre.
Une utilisation judicieuse de la fonction VAL pour convertir la chaîne en un nombre est employée dans le reste du programme, comme sur la lignes 52 (où la boucle WHILE-WEND commence; cette boucle se termine lorsque la somme se réduit à un seul chiffre) et la ligne 70 (où se trouve la somme des chiffres pour chaque itération).
Vers la fin du programme, lorsque la racine numérique est signalée, la fonction STR$ reconvertit le nombre en chaîne. Et la persistance additive est suivie en utilisant la variable PERS, qui est un simple compteur.
Écrire un programme avec des affichages visuels brillants du processus d'obtention des racines numériques, ou des racines numériques d'un ensemble de nombres consécutifs, ou même du carré védique (qui offre une variante de la table de multiplication familière), serait à la fois difficile et édifiant.
10 KEY OFF
15 SUM=0
17
PERS=0 'La persistance additive = nombre d'itérations
20 CLS
30 PRINT"---
RACINES NUMÉRIQUES, DIGITAL ROOTS —"
40 PRINT
50 INPUT "ENTREZ VOTRE
NUMÉRO ENTIER";NUM$
52 ORIG$=NUM$
54 'Boucle jusqu'à ce qu'il ne reste
qu'un seul chiffre
55 WHILE((VAL(NUM$)/10)>1)
60 FOR X=1 TO LEN(NUM$)
70 SUM=SUM+VAL(MID$(NUM$,X,1)) 'Trouve la somme des chiffres
80 NEXT X
100 NUM$=STR$(SUM) 'Reconvertit le nombre en chaîne
105 SUM=0
107
PERS=PERS+1
110 WEND
120 PRINT "RACINE NUMÉRIQUE DE ";ORIG$;" EST ";NUM$
125 PRINT "LA PERSISTANCE ADDITIF"
127 PRINT "(NOMBRE D'ITÉRATIONS POUR
OBTENIR LA RACINE) EST ";PERS
130 PRINT:INPUT "Un autre nombre (Tapez OUI ou
NON)";A$
140 IF A$="OUI" OR A$="oui" THEN 10 ELSE CLS:END