Extraction de la racine carrée par la méthode de Friden
Cette méthode est extrêmement originale, elle a été développée dans
les années 50 pour la machine à calculer
Friden SRW, qui fut la
première et seule machine à calculer mécanique à pouvoir extraire une
racine carré de 10 chiffres en 9 secondes ! Et cela en n'effectuant que
des soustractions...
Cette méthode se base sur le fait que la somme des n premiers nombres
impairs est égale à n2. (voir
nombre polygones)
1 = 12
1 + 3 = 4 = 22
1 + 3 + 5 = 9 = 32
1 + 3 + 5 + 7 = 16 = 42
1 + 3 + 5 + 7 + 9 = 25 = 52
1 + 3 + 5 + 7 + 9 + 11 = 36 = 62
etc...,
La formule générale est :

Cette formule se démontre très facilement, on ajoute Sn
à lui-même, en prenant pour le premier les termes dans l'ordre croissant
et pour le second les termes dans l'ordre décroissant, et on additionne
terme à terme, comme suit :

La
méthode de Friden fonctionne comme suit: On soustrait
successivement les nombres impairs 1, 3, 5, ... du nombre dont on veut
calculer la racine carrée entière.
Il suffit de compter combien de nombres impairs on peut soustraire du
nombre donné, ce nombre sera la racine carré. En effet, soit A
le nombre dont on cherche la racine, supposons que l'on sache soustraire
n nombres impairs, mais pas n+1. c'est-à-dire:
A - 1 - 3 - 5 - ... - (2n-1) ≥ 0
mais A - 1 - 3 - 5 -
... - (2n-1) - (2n+1) < 0 or
on sait que la somme des n premiers nombres impairs est n2.
Donc A -
n2 ≥ 0
et
A - (n+1)2 < 0 Ou
encore n2 ≤ A < (n+1)2
C'est-à-dire que n est la racine carrée
entière de A. Ex. : soit 135. on soustrait les nombres
impairs à partir de 1 et on compte combien de fois on peut effectuer
l'opération :
- 135 - 1 = 134
- 134 - 3 = 131
- 131 - 5 = 126
- 126 - 7 = 119
- 119 - 9 = 110
- 110 - 11 = 99
- 99 - 13 = 86
- 86 - 15 = 71
- 71 - 17 = 54
- 54 - 19 = 35
- 35 - 21 = 14
On a pu effectuer 11 soustractions, donc 11 est la racine
carrée entière de 135.
Méthode de Friden pour les grands
nombres.
Bien sûr, pour un nombre plus grand tel que 34.154.215, on ne
peut pas s'amuser à soustraire tous les nombres impairs à partir
de 1, car il faudrait faire 5844 soustractions. Il faut donc
légèrement améliorer l'algorithme.
N.B.: La notation [ab] indique a.10+b, [abc] = a.102+b.10+c,
[abcd] = a.103+b.102+c.10+d, etc... [a]
est égal à a.
Pour les grands nombres on travaille comme suit:
- On décompose le nombre en tranches de deux chiffres à
partir de la droite. Soit p le nombre de tranches
- On soustrait successivement 1.102p,
3.102p, 5.102p, 7.102p,
... du nombre de départ et on compte le nombre de fois que
l'on peut soustraire, soit ap ce nombre,
celui-ci est le premier chiffre de la racine carrée.
- On multiplie le chiffre précédant par 20 et on ajoute 1,
ce qui donne 20ap+1.
- On soustrait successivement (20ap+1)102p-2,
(20ap+3)102p-2, (20ap+5)102p-2,
(20ap+7)102p-2, ... du
nombre restant de l'étape 2 et on compte le nombre de fois
que l'on sait soustraire, soit ap-1
ce nombre, celui-ci est le chiffre suivant de la racine
carré. Les deux premiers chiffres de la racine carrée sont [apap-1].
- On multiplie [apap-1]
par 20 et on ajoute 1, ce qui donne 20[apap-1]+1.
- On soustrait successivement (20[apap-1]+1)102p-4,
(20[apap-1]+3)102p-4,
(20[apap-1]+5)102p-4,
(20[apap-1]+7)102p-4,
... du nombre restant de l'étape 4 et on compte le nombre de
fois que l'on sait soustraire, soit ap-2
ce nombre, celui-ci est le chiffre suivant de la racine
carré. Les trois premiers chiffres de la racine carrée sont
[apap-1ap-2].
- On multiplie [apap-1ap-2]
par 20 et on ajoute 1, ce qui donne 20[apap-1ap-2]+1.
- On soustrait successivement (20[apap-1ap-2]+1)102p-6,
(20[apap-1ap-2]+3)102p-6,
(20[apap-1ap-2]+5)102p-6,
(20[apap-1ap-2]+7)102p-6,
... du nombre restant de l'étape 6 et on compte le nombre de
fois que l'on sait soustraire, soit ap-3
ce nombre, celui-ci est le chiffre suivant de la racine
carré. Les quatre premiers chiffres de la racine carrée sont
[apap-1ap-2ap-3].
- Etc... jusqu'à ce que l'on ait le nombre de chiffres
voulus, soit [apap-1ap-2...a1a0].
Ex.: soit 254.142.047.
- On décompose le nombre en tranche de deux chiffres,
soit 4 tranches.
2.54.14.20.47
2. On soustrait 1.108
= 1.00.00.00.00, 3.00.00.00.00, 5.00.00.00.00, ... du
nombre précédant.
2.54.14.20.47
1.00.00.00.00
-------------------
1.54.14.20.47
On sait soustraire 1 fois, donc le premier chiffre est
1.
3. On calcule 1.20+1 =
21
4. On soustrait 21.106
= 21.00.00.00, 23.106 = 23.00.00.00,
25.00.00.00, etc..., du dernier nombre calculé en 2.
1.54.14.20.47
21.00.00.00
-------------------
1.33.14.20.47
23.00.00.00
-------------------
1.10.14.20.47
25.00.00.00
--------------------
85.14.20.47
27.00.00.00
--------------------
58.14.20.47
29.00.00.00
--------------------
29.14.20.47
On sait donc soustraire 5 fois, les deux premiers
chiffres de la racine carrée sont donc 15.
5. On calcule 15.20+1 = 301.
6. On soustrait 301.104
= 301.00.00, 303.104 = 303.00.00, 305.104
= 305.00.00, etc... du dernier nombre calculé en 4.
29.14.20.47
3.01.00.00
----------------
26.13.20.47
3.03.00.00
----------------
23.10.20.47
3.05.00.00
----------------
20.05.20.47
3.07.00.00
-----------------
16.98.20.47
3.09.00.00
----------------
13.89.20.47
3.11.00.00
----------------
10.78.20.47
3.13.00.00
----------------
7.65.20.47
3.15.00.00
----------------
4.50.20.47
3.17.00.00
----------------
1.33.20.47
On a fait 9 soustractions, les trois premiers
chiffres sont donc 159.
7. On calcule 159.20 + 1 =
3181.
8. On soustrait 3181.102
= 31.81.00, 31.83.00, 31.85.00, etc... du nombre restant
en 6.
1.33.20.47
31.81.00
--------------
1.01.39.47
31.83.00
--------------
69.56.47
31.85.00
--------------
37.71.47
31.87.00
--------------
5.84.47
On a pu effectuer 4 soustractions, donc les
quatre premiers chiffres sont donc 1594.
9. On calcule 1594.20+1 =
31881.
10. On soustrait 31881, 31883,
31885, etc... du nombre restant en 8.
5.84.47
3.18.81
----------
2.65.66
On a soustrait 1 fois, donc la racine
carrée est 15941.
Démonstration de la méthode.
Soit N le nombre que l'on décompose en
tranche de deux chiffres.
N = 102p.np
+ 102p-2.np-1+102p-4.np-2+...+102.n1+n0
On soustrait 1.102p, 3.102p,
etc... et on constate qu'on peut soustraire ap
fois (mais pas ap+1)
C'est-à-dire que ap2.102p
≤ N < (ap+1)2.102p,
ou ap.10p
≤ √N < (ap+1).10p.
Le nombre restant après soustraction est N - ap2.102p
Dans
l'itération suivante on essaye de trouver le chiffre
suivant ap-1.
ou ap.10p
+ ap-1.10p-1
≤ √N < ap.10p +
(ap-1+1).10p-1
en élevant au carré
ap2.102p
+ 2.ap.ap-1.102p-1
+ ap-12.102p-2
≤ N
ou encore
2.ap.ap-1.102p-1
+ ap-12.102p-2
≤ N - ap2.102p
ou (20.apap-1+ap-12).102p-2
≤ N - ap2.102p
Or, 20.apap-1+ap-12
= (20.ap + 1) + (20.ap
+ 3) + (20.ap + 5) + ... +
(20.ap + (2.ap-1
- 1) ) ap-1
termes.
Donc si on soustrait successivement
(20.ap + 1) .102p-2,
(20.ap + 3).102p-2,
etc... du nombre N - ap2.102p,
il y aura ap-1
soustractions possibles.
Le nombre restant après
soustraction sera N - ap2.102p
- (20.apap-1+ap-12).102p-2
ou N - (ap.10p
+ ap-1.10p-1)2
ou encore N - [apap-1]2.102p-2
on essaye de
trouver le chiffre suivant ap-2.
tel que [apap-1].10p-1
+ ap-2.10p-2
≤ √N < [apap-1].10p-1
+ (ap-2+1).10p-2
en élevant au carré
[apap-1]2.102p-2
+ 2.[apap-1].ap-2.102p-3
+ ap-22.102p-4
≤ N
ou encore
2.[apap-1].ap-2.102p-3
+ ap-22.102p-4
≤ N - [apap-1]2.102p-2
ou (20.[apap-1].ap-2+ap-22).102p-4
≤ N - [apap-1]2.102p-2
Or, 20.[apap-1].ap-2+ap-22
= (20.[apap-1]+1)
+ (20.[apap-1]
+ 3) + (20.[apap-1]
+ 5) + ... + (20.[apap-1]
+ (2.ap-2 - 1) )
ap-2 termes
Donc si on soustrait successivement
(20.[apap-1]
+ 1).102p-4 , (20.[apap-1]
+ 3).102p-4, etc... du nombre N -
[apap-1]2.102p-2,
il y aura ap-2
soustractions.
Le nombre restant après
soustraction sera N
- [apap-1ap-2]2.102p-4
Etc... jusqu'à obtenir la
racine carrée [apap-1ap-2...a1a0],
le reste sera N - [apap-1ap-2...a1a0]2.
|