[TP] Calcul de la racine carrée
Salut tout le monde
J'ai un petit problème avec le Pascal car je n'arrive pas à résoudre un exercice et je vous prie de m'aider à le résoudre rapidement car je dois le présenter demain à mon prof.
L'exercice dit :
Citation:
pour tout entier n>0, on a : 1+3+5+7+...+(2n-1)=n².
Tirer de cette propriété mathématique un algorithme qui calcule la partie entière inférieure de la racine carrée d'un nombre x.
Exemple : pour x=30 on doit afficher la valeur5.
J'attends votre réponse et encore ne m'oubliez pas SVP et merci
Calcul de la racine carrée
La somme des n premiers nombres impairs est égale à n².
En effet, si on ajoute les 3 premiers nombres impairs (1 + 3 + 5), on obtient 9 qui n'est autre que 3². Et cela marche pour n'importe quel nombre impair : Prenons le 6ème nombre impair (c'est-à-dire 11) et effectuons la somme 1 + 3 + 5 + 7 + 9 + 11. On obtient 36 qui est bien égal à 6².
donc pour calculer la racine de 30 on effcetue la somme des n premier nombres impaire et on s'arrete lorsque la somme et directement inférieure à 30.
exemple pour 30:
on prend 1+3+5+7+9=25 (on peut pas ajouter 11 car ca depasse 30)
donc il suffit de calculer le nombre d'addition effectué (ici c'est 5) donc on affiche 5:
voila l'algo a traduire en C ou pascal (je peux te donner la source ne c si necessaire )
Code:
1 2 3 4 5 6 7 8 9 10 11
| lire le nombre x (pour lequel on souhaite calculer la racine )
somme =0
compteur=0
i=1
tand que somme inferieur à x
si (i modulo 2= 1 ) //on verifie si le nombre est impair
{
alors s=s+i;
compteur++; //incrementer le compteur
}
afficher compteur //c'est la racine proche |
bonne chance