Calcul litteraire de la racine carre

Résolu
Antonio -  
Sacabouffe Messages postés 10427 Statut Membre -
Bonjour,

je souhaite mettre en place une fonction c qui me permet de calculer la racine carre d un nombre. J'ai beau y reflechir je ne trouve pas de piste :S.

Merci!!

9 réponses

Antonio
 
Je connais deja cette fonction, ms le but de mon exercice est de code sqrt en quelque sorte, et je ne sais pas comment faire ...
Merci d avance.
0
Antonio
 
merci pour vos reponses, ca m'est fortement utile
je vais essayer de faire une fonction je vous tien au courant :-)
0
Sacabouffe Messages postés 10427 Statut Membre 1 835
 
De rien ;-)
Ciao !
0
_will Messages postés 216 Statut Membre 17
 
Bonjour,

Pour calculer une racine carrée en C, utilise sqrt() :
http://www.linux-france.org/article/man-fr/man3/sqrt-3.html
-1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
fiddy Messages postés 11653 Statut Contributeur 1 847
 
Bien, tu peux faire par dichotomie. Tu testes un nombre k, et tu l'augmentes ou diminues selon que son carré se rapproche ou s'écarte du nombre.
-1
Sacabouffe Messages postés 10427 Statut Membre 1 835
 
Salut

Calcul littéraire ? Kézako ?

Pourquoi t'utilises pas sqrt ?

Si tu veux absolument faire ça à la main, utilise la Méthode de Newton.

Ciao

PS : Désolé à tout le monde pour le doublon, j'avais pas vu...
-1
Char Snipeur Messages postés 10112 Statut Contributeur 1 299
 
Tu peux utiliser le dévellopemet limité. (1+x)^n=1+nx+...
ou alors utiliser les itérations de Newton :
Par exemple, tu veux la racine carré de a, tu pose f(x)=x²-a;
ensuite, tu itère : x_i+1=x_i-f(x_i)/f'(x_i)=x_i-(x_i²-a)/2x_i
vois là aussi : https://www.developpez.net/forums/d361610/general-developpement/algorithme-mathematiques/mathematiques/methode-iterative-newton/
Et tu arrête quand tu pense que tu es assez près du résultat, c'est à dire lorsque -1e-n<f(x_i)<1e-n avec n suivant ce que tu veux
-1
Char Snipeur Messages postés 10112 Statut Contributeur 1 299 > fiddy Messages postés 11653 Statut Contributeur
 
ou alors, tu peux aussi combiner, tu divise x par 49, 25, 9 et 4 jusqu'à obtenir un nombre inférieur à 2, et ensuite tu combine le tout. (avec un DL supérieur à l'ordre 1 que j'ai donné bien sur)
0
Sacabouffe Messages postés 10427 Statut Membre 1 835 > Char Snipeur Messages postés 10112 Statut Contributeur
 
Ah voui, pourquoi pas...
Rigolo comme méthode :-D
0
fiddy Messages postés 11653 Statut Contributeur 1 847 > Char Snipeur Messages postés 10112 Statut Contributeur
 
Très bonne idée, mais je vais faire mon rabat-joie :d.
Prenons par exemple X, le nombre dont on veut sa racine.
Tu divises premièrement par quoi ? Par le plus grand que tu peux, et le plus grand c'est la racine du nombre.
On revient au point de départ. lol.
0
Sacabouffe Messages postés 10427 Statut Membre 1 835 > fiddy Messages postés 11653 Statut Contributeur
 
Ben tu commences à 1 et t'augmentes jusqu'à obtenir un nombre plus petit que 2.
Exemple : 47
1 -> 4 -> 9 -> 25
Tu t'arrêtes à 25 et tu calcules la SE tronquée de √(1+22/25)
C'est ça que tu voulais dire Char Snipeur ?
0
fiddy Messages postés 11653 Statut Contributeur 1 847 > Sacabouffe Messages postés 10427 Statut Membre
 
Il avait dit dans l'autre sens lol. Oui dans ce sens là c'est déjà mieux. Mais ce qui me plaît pas, c'est que ça risque d'être long si le nombre est grand lol. Après on peut bien sûr améliorer l'algorithme mais (du genre dichotomie), mais autant utiliser cette méthode pour avoir directement l'approximation. ^^
0
kilian Messages postés 8854 Statut Modérateur 1 526
 
J'ai voulu lire ce qu'il y avait dans ce sujet et...
Enfin bon je vais me prendre un bon café, ça vaudra mieux....
-1
Sacabouffe Messages postés 10427 Statut Membre 1 835
 
Mais euh !
Laisse nous jouer tranquille toi d'abord !
-1