Calcul écrit/Calcul de la racine n-ième d'un nombre

De testwiki
Aller à la navigation Aller à la recherche

Modèle:Calcul écrit Cette méthode pour calculer la Niémeracine d'un nombre dérive du boulier (mais il n'est pas nécessaire d'avoir un boulier ni de savoir comment ça marche pour la mettre en pratique) elle est donc presque uniquement basée sur des additions et des soustractions (Pour la petite histoire j'avais passé toute une nuit a tenter de généraliser la méthode à partir de l'extraction des racines carrées et cubiques que je connaissais pour le boulier, et c'est lorsque le premier rayon de Soleil a traversé la vitre que la lumière fut ! Qui n'a pas connu l'ivresse des équations diophantienne à 4h du mat' ne peut pas comprendre !!!).

Les colonnes

Pour calculer xn on va faire un tableau de n colonnes. Le calcul se fera de gauche à droite puis de bas en haut. Les colonnes seront nommées R1,R2,R3 etc jusqu'à R(n - 1) et la dernière sera T. Cette colonne T pour "tranche" contiendra les tranches en cours car x sera découpé en tranches de N chiffres à partir de la droite ou de la virgule.

Exemples :

  • 160041416|0041
16 0041
  • 5439873213543|987|321
543 987 321
  • 431,224524|31|22|45
4 31, 22 45


  • Comme pour la division, on abaissera d'abord la tranche la plus à gauche puis celle à sa droite et ainsi de suite.
  • Le nombre de tranches nous renseigne déjà sur le nombre de chiffres du résultat.
Exemple : La solution de 5439873213 aura 3 chiffres avant la virgule car il y a 3 tranches avant la virgule.
  • Chaque tranche va subir un certain nombre de soustractions avant que soit descendue la prochaine.

Laissons de côté, pour l'instant, les changements de tranche.

Calcul en escalier

Sur R1,R2 etc vont s'enchaîner une suite d'additions en forme d'escalier à l'envers (voir l'exemple ci-dessous).

À chaque nouvelle ligne on ajoutera +1 au nombre de R1.

  1. On commence donc et l'on met +1 en R1, ensuite R1 va venir s'ajouter à R2 (0+1=1!), qui lui ira s'ajouter à R3 et ainsi de suite jusqu'à R(N - 1) qui lui ira se soustraire à T.
  2. On démarre la seconde ligne en ajoutant +1 dans R1 (donc=2), R1 s'ajoute à R2 (1+2=3) qui s'ajoute à R3 etc jusqu'à R(N - 1) qui cette fois ne vient pas se soustraire à T.
  3. On démarre la ligne3 en ajoutant +1 à R1 qui vient s'ajouter à R2 etc jusqu'à R(N - 2).
  4. Pareil pour la ligne 4 mais jusqu'à R(N - 3), jusqu'à R(N - 4) pour la ligne 5
  5. etc.

Et les lignes s'enchaînent ainsi en se raccourcissant jusqu'à ce que R1 prenne son +1 sans aller s'ajouter à R2.

Lorsque l'on a fini le premier "escalier" on en redémarre un autre avec toujours les derniers chiffres des colonnes auxquels viennent s'ajouter les R1 dans les R2 etc (voir l'exemple). Donc en dehors de la colonne R1 (qui prend +1 à chaque ligne) et de T, vous pourrez constater sur l'exemple que chaque chiffre est la somme du chiffre qui est au-dessus de lui et de celui qui est à sa gauche.

La première marche de l'escalier est toujours la plus grande, c'est celle qui va jusqu'à la soustraction de R(N - 1) à T. On continue ce manège jusqu'à ce que T soit inférieur à R(N-1) (donc la soustraction serait négative) auquel cas il faut descendre une nouvelle tranche. Mais on verra ça plus tard. Intéressons-nous d'abord au cas n'ayant qu'une seule tranche et tombant juste.

Exemple : 10245

R1

0

R2

0

R3

0

R4

0

T

1024

(+1) 1 (+R1) 1 (+R2) 1 (+R3) 1 1023 (1024R4)
(+1) 2 (+R1) 3 (+R2) 4 (+R3) 5
(+1) 3 (+R1) 6 (+R2) 10
(+1) 4 (+R1) 10
(+1) 5
(+1) 6 (+R1) 16 (+R2) 26 (+R3) 31 992 (1023R4)
(+1) 7 (+R1) 23 (+R2) 49 (+R3) 80
(+1) 8 (+R1) 31 (+R2) 80
(+1) 9 (+R1) 40
(+1) 10
(+1) 11 (+R1) 51 (+R2) 131 (+R3) 211 781 (992R4)
(+1) 12 (+R1) 63 (+R2) 194 (+R3) 405
(+1) 13 (+R1) 76 (+R2) 270
(+1) 14 (+R1) 90
(+1) 15
(+1) 16 (+R1) 106 (+R2) 376 (+R3) 781 0 (781R4)

Résultat

Maintenant il y a deux manières de voir le résultat :

  • Soit on prend la dernière valeur de R1 et l'on fait :   R1+N1N
Donc ici 16+515=205=4;45=1024 c'est bien ça !
L'ajout de N-1 à R1 donne la valeur de R1 si on complète le dernier escalier.
Donc si on poursuit le calcul de l'escalier jusqu'au bout, on n'ajoute pas N-1 :   R1N
  • Soit on compte combien de soustractions a dû subir la tranche (colonne T), ici 4. Si l'on avait dû baisser une seconde tranche et que celle-ci avait dû subir 2 soustractions la réponse aurait été 42 : 4 soustractions pour la 1Modèle:Ère tranche et 2 pour la 2Modèle:Ème. Cela veut dire aussi qu'un calcul dont la réponse serait 9 sera souvent plus long à effectuer que si c'était 2222 (9 escaliers contre 8).

Encore un exemple avant de passer au cas de plusieurs tranches :

Ex: 164

R1 R2 R3 T (16)
1 (+)1 (+)1 ()15 (=161)
2 (+)3 (+)4
3 (+)6
4
5 (+)11 (+)15 ()0 (=1515)
 2  soustractions pour la tranche

Donc : R1+N1N=5+414=224=16

Plusieurs tranches

Le passage d'une tranche à l'autre est un peu plus délicat (à peine !), il s'effectue lorsque R(N - 1) est devenu supérieur à T. Il faut tout d'abord finir l'escalier qui précède cette situation embêtante jusqu'à la marche où R1 était seul sans s'ajouter à R2. Si l'on a poursuivi le calcul jusqu'à cette fameuse soustraction impossible, il suffit de barrer cette dernière ligne. Mais,le plus souvent,on s'aperçoit que ça ne "passera plus" avant, alors on termine l'escalier en cours.

Ensuite on multiplie R1 par 10, R2 par 100, R3 par 1000 bref tous les R(N) par 10N et l'on abaisse la tranche suivante en T ( ! ATTENTION !cette ligne n'a eu aucune addition ou soustraction !). Enfin on redémarre un escalier comme avant : on ajoute +1 à R1, R1 s'ajoute à R2 qui s'ajoute à R3...etc et R(N - 1) se soustrait à T.

Exemple 1

Calculer :106483

R1 R2 T (10|648)
1 (+)1 ()9 ( = 10 - 1 )
2 (+)3
3
4 (+)7 ()2 ( 7 > 2 , là on voit que ça ne passera plus !)
5 (+)12 (On finit l'escalier)
6  2  soustractions pour la tranche
60 1200 2𝟔𝟒𝟖 (on multiplie et abaisse la nouvelle tranche)
61 (+)1261 ()1367
62 (+)1323
63
64 (+)1387 ()0  2  soustractions pour la tranche

Donc : 64+313=22;223=10648

Exemple 2

Calculer :106174476814

R1 R2 R3 T (106|1744|7681)
0 00 000 106 Tranche 1
1 (+)1 (+)1 ()105 ( = 106 - 1 )
2 (+)3 (+)4
3 (+)6
4
5 (+)11 (+)15 ()90
6 (+)17 (+)32
7 (+)24
8
9 (+)33 (+)65 ()25 ( 65 > 25 ...ça ne passera plus !)
10 (+)43 (+)108
11 (+)54
12  3  soustractions pour la tranche
120 5400 108000 25𝟏𝟕𝟒𝟒 Tranche 2 : on multiplie et abaisse la nouvelle tranche
121 (+)5521 (+)113521 ()138223
122 (+)5643 (+)119164
123 (+)5766
124
125 (+)5891 (+)125055 ()13168 ( 125055 > 13168...ça ne passera plus !)
126 (+)6017 (+)131072 (On finit l'escalier)
127 (+)6144
128  2  soustractions pour la tranche
1280 614400 131072000 13168𝟕𝟔𝟖𝟏 Tranche 3 : on multiplie et abaisse la nouvelle tranche
1281 (+)615681 (+)131687681 ()0  1  soustraction pour la tranche

Donc : 1281+414=321;3214=10617447681

Chiffre zéro dans le résultat

Il peut arriver (1 fois sur 10) que même aprés avoir descendu une nouvelle tranche la soustraction reste négative, il va alors falloir descendre une nouvelle tranche ( cela correspond en fait au chiffre zéro dans la solution ). Il faut alors supprimer la dernière ligne ; on garde celle où les R(N) étaient multipliés par 10N et on remultiplie à nouveau les R(N) par 10N et l'on abaisse une nouvelle tranche. Le plus souvent on s'apercevra que ça ne "passera plus" avant de commencer la ligne suivante. Inutile de calculer ce que l'on va barrer, on remultiplie directement !

Si cela ne suffit toujours pas à rendre R(N - 1) supérieur à T, on remultiplie de nouveau les R(N) par 10N, on abaisse encore une tranche...

Exemple 1

Calculer :1040604014


R1 R2 R3 T (1|0406|0401)
1 (+)1 (+)1 ()0 (...ça passera plus !...)
2 (+)3 (+)4
3 (+)6
4  1  soustraction pour la tranche
40 600 4000 𝟒𝟎𝟔 (la nouvelle tranche n'est pas suffisante !)
 0  soustractions pour la tranche
400 60000 4000000 406𝟎𝟒𝟎𝟏 (on remultiplie et remet une tranche)
401 (+)60401 (+)4060401 ()0  1  soustraction pour la tranche

Donc : 401+414=101;1014=104060401

Remarque : La tranche "0406" n'a subi aucune soustraction d'où le zéro ! Désormais les opérations (+) et (-) ne seront plus signalées devant les flèches.

Exemple 2

Calculer :10030030013

R1 R2 T (1|003|003|001)
1 1 0
2 3
3  1  soustraction pour la tranche
30 300 𝟑 (...pas suffisant !)
 0  soustraction pour la tranche
300 30000 3𝟎𝟎𝟑 (...toujours pas !)
 0  soustraction pour la tranche
3000 3000000 3003𝟎𝟎𝟏 (OK)
3001 3003001 0  1  soustraction pour la tranche

Donc : 3001+313=1001;10013=1003003001

Exemple 3

Voyons maintenant le cas particulier du résultat se terminant par un ou des zéros.

Calculer :32000005

R1 R2 R3 R4 T (32|00000)
1 1 1 1 31
2 3 4 5
3 6 10
4 10
5
6 16 26 31 0  2  soustractions pour la tranche

ATTENTION ! Il reste une tranche ! Vide, mais une tranche quand même !!! Mais finir l'escalier, multiplier et baisser la tranche vide nous conduirait à une erreur !

Dans ces cas là, on ne panique pas ...il suffit de multiplier le résultat final par 10 :
106+515=1005=20 ;205=3200000

De la même manière 3200000000005 nous laisserait deux tranches vides, donc 1006+515=200 ;2005=320000000000
Inversement, pour un gain de temps, on peut dans 0.000325 abaisser immédiatement la tranche après la virgule à condition de ne pas oublier de diviser le résultat final par 10 :
6+515*10=0.2 ;0.25=0.00032

D'une manière générale, il vaut mieux voir à l'avance si il y a moyen de se simplifier la tâche avec ce genre de multiplication ou de division.

Cependant, si on compte le nombre de soustractions pour obtenir le résultat, continuer le calcul aboutit au bon résultat :

R1 R2 R3 R4 T (32|00000)
1 1 1 1 31
2 3 4 5
3 6 10
4 10
5
6 16 26 31 0
7 23 49 80
8 31 80
9 40
10  2  soustractions pour la tranche
100 4000 80000 800000 0𝟎𝟎𝟎𝟎𝟎 (on multiplie et abaisse la nouvelle tranche)
 0  soustraction pour la tranche

De même utiliser la dernière valeur de R1 permet d'obtenir le bon résultat sans l'ajout de N-1.

1005=20 ;205=3200000

Nombres décimaux

Le principe reste le même avec les nombres décimaux.

Exemple : Calculer :1.0612083

R1 R2 T (1|061|208)
1 1 0
2 3
3  1  soustraction pour la tranche
 .  point décimal avant la nouvelle tranche
30 300 𝟔𝟏 (pas suffisant)
 0  soustraction pour la tranche
300 30000 61𝟐𝟎𝟖
301 30301 30907
302 30603
303
304 30907 0  2  soustractions pour la tranche

On a descendu deux tranches après la virgule ; on divise donc le résultat final par 100 :

304+313*100=306300=102100=1.02;1.023=1.061208