Algorithme qui calcule la racine carré d'un nombre

Fermé
Ahb - 22 déc. 2015 à 16:42
 Ahb - 25 déc. 2015 à 14:24
Salut

J'ai crée cet algorithme en langage C qui calcule la racine carré d'un nombre donné, il arrive a le trouver rapidement, mais le problème est que quand on lui entre un nombre trop grand (>1 000 000), les dernières décimales sont fausses

#include<stdio.h>
#include<stdlib.h>
int main ()
{
float x, y=1, p, N, a;
printf("x = ");
scanf("%f", &x);
if(x>=1)
{
p=1;
while(y*y<=x)
{
while(y*y<=x)
{
a=y;
y=y+p;
if(y==a)
break;
}
if(y==a)
break;
y=a;
p=p/10;
}
}
else
{
p=0.1;
while(y*y>=x)
{
while(y*y>=x)
{
a=y;
y=y-p;
if(y==a)
break;
}
if(y==a)
break;
y=a;
p=p/10;
}
}
printf("y = %f", y);
return 0;
}

Il est ou le problème ?
A voir également:

3 réponses

Pierre1310 Messages postés 8554 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 645
22 déc. 2015 à 16:45
Bonsoir,

racine en C :

sqrt(Ta_variable);

a +
3
Merci

Mais je veux développer ma propre fonction
Vous allez me dire que c'est inutile
Mais ça m'aide a progresser en algorithmique
0
?
0