CALCUL DU CARRE PAR LA MÉTHODE DE L'ABAQUE (ITÉRATIF ET RECURSIF)
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 2012
-
23 nov. 2008 à 16:38
aera group
Messages postés382Date d'inscriptionmercredi 23 août 2006StatutMembreDernière intervention 8 novembre 2010
-
31 août 2009 à 10:52
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
aera group
Messages postés382Date d'inscriptionmercredi 23 août 2006StatutMembreDernière intervention 8 novembre 201018 31 août 2009 à 10:52
J'ai oublier la note :p
Cette méthode fonctionne même si n = 0
aera group
Messages postés382Date d'inscriptionmercredi 23 août 2006StatutMembreDernière intervention 8 novembre 201018 31 août 2009 à 10:50
J'aime bien :p
Je connaissais cette méthode facile a démonter :
Soit _ l'opérateur qui a tout nombre entier positif a et b accole a à b
Par exemple 13_9 = 139
Plus Mathématiquement si on pose len(a) la propriété qui renvoi le nombre de chiffre que compose le nombre a, on peut traduire l'opérateur ainsi :
a_b = a*10^len(b) + bPar exemple 2_12 2*10*len(12) + 12 2*10^2 + 12 = 2*100 + 12 = 212
On pose n un nombre entier positif, alors :(n_5)² (n*10 + 5)² (n*10)² + 2*n*10*5 + 5² = n²*100 + n*100 + 25 = (n²+n)*100 + 25 = (n(1+n))*100 + 25 = (n * (n+1))_25
CQFD
On retrouve bien ton exemple 45² = ?4*5 4*(4+1) 20
45² = 20_25
Voila c'est amusant comme code, et c'est bien codé donc 9
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 2 déc. 2008 à 11:36
j'aimerais savoir comment ca se passe car je parvient pas a trouver
xeolin
Messages postés336Date d'inscriptionsamedi 26 novembre 2005StatutMembreDernière intervention 8 novembre 20112 27 nov. 2008 à 12:22
C'est bien de prendre l'habitude d'utiliser :
else :
au lieu de :
elif d<>5:
L.69
Ca permet d'eviter un calcul par l'ordi inutile.
Sinon c'est un tres bon algorythme même su tu devrais essayer de l'optimiser.
9/10
Xeolin
cs_Julien39
Messages postés6414Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention29 juillet 2020371 23 nov. 2008 à 23:58
ok merci mais ici, le but n'était pas de faire un truc rapide, je l'ai dit en commentaire sur cette source, cette méthode n'est pas adaptée à l'informatique, par contre c'est un bon exemple d'algorithme.
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 23 nov. 2008 à 16:38
en info :
47 ^2 = 4^2*100 + 2*4*10*2 + 2^2
avec les decalages de bits, t'arrvives a faire un truc rapide
31 août 2009 à 10:52
Cette méthode fonctionne même si n = 0
31 août 2009 à 10:50
Je connaissais cette méthode facile a démonter :
Soit _ l'opérateur qui a tout nombre entier positif a et b accole a à b
Par exemple 13_9 = 139
Plus Mathématiquement si on pose len(a) la propriété qui renvoi le nombre de chiffre que compose le nombre a, on peut traduire l'opérateur ainsi :
a_b = a*10^len(b) + bPar exemple 2_12 2*10*len(12) + 12 2*10^2 + 12 = 2*100 + 12 = 212
On pose n un nombre entier positif, alors :(n_5)² (n*10 + 5)² (n*10)² + 2*n*10*5 + 5² = n²*100 + n*100 + 25 = (n²+n)*100 + 25 = (n(1+n))*100 + 25 = (n * (n+1))_25
CQFD
On retrouve bien ton exemple 45² = ?4*5 4*(4+1) 20
45² = 20_25
Voila c'est amusant comme code, et c'est bien codé donc 9
2 déc. 2008 à 11:36
47 40 + 7 4 * 10 + 7
47^2 = [ (4*10) + 7 ] ^2
47^2 = (4*10)^2 + 2*7*4*10 + 7^2
47^2 = 4^2 * 100 + 2 * 7 * 4 * 10 + 7^2
une erreur d'inatention, j'avais probablement 42 en tete quand j'ai ecrit cette ligne...
quand on calcule de tete un carre a deux chiffres, c'est plus interessant de faire :47 50 - 3 2500 - 300 + 9 = 2209
2 déc. 2008 à 11:20
en info :
47 ^2 = 4^2*100 + 2*4*10*2 + 2^2
j'aimerais savoir comment ca se passe car je parvient pas a trouver
27 nov. 2008 à 12:22
else :
au lieu de :
elif d<>5:
L.69
Ca permet d'eviter un calcul par l'ordi inutile.
Sinon c'est un tres bon algorythme même su tu devrais essayer de l'optimiser.
9/10
Xeolin
23 nov. 2008 à 23:58
23 nov. 2008 à 16:38
47 ^2 = 4^2*100 + 2*4*10*2 + 2^2
avec les decalages de bits, t'arrvives a faire un truc rapide