Algorithme_Racine_Carree
Résolu
CALiiMERO
Messages postés
77
Statut
Membre
-
CALiiMERO Messages postés 77 Statut Membre -
CALiiMERO Messages postés 77 Statut Membre -
Bonjour,
Je trouve des problémes pour faire un algorithme :
"sans passer par la racine carrée" je trouve que cette solution : X = x^(1/2) mais ça n'arrange pas les choses pour le traduire en algo.
Vous pensez quand peut faire mieu que ça?
Je trouve des problémes pour faire un algorithme :
Ecrire un algorithme qui vérifie si X , un entier donné par l'utilisateur , est un carré , si oui retourne la valeur de l'entier dont il est le carré , sans passer par la racine carrée.
Exemple : X=9 , l'entier est 3
"sans passer par la racine carrée" je trouve que cette solution : X = x^(1/2) mais ça n'arrange pas les choses pour le traduire en algo.
Vous pensez quand peut faire mieu que ça?
10 réponses
-
-
Je crois que parce que tu n'as pas donner une valeur initiale à "i" .
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i=0,carre,nbr;
printf("entrer un nbr");
scanf("%d",&nbr);
while(carre<nbr)
{
carre=i*i;
if(carre==nbr)
printf("la racine est %d",carre);
else
i++;
return 0;
} -
Algorithme_Carre Variables: i, carre, nbr; Debut Ecrire("Entrer un nombre :"); Lire(nbr); Tant que (carre<nbr) faire carre<-i*i; Si (carre=nbr) alors Ecrire("La racine carre est",carre); Sinon i<-i+1; FinSi FinTantque Fin -
on compare carre avec nbr .... mais ou est la valeur initiale de carre ????
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
J'ai donner comme valeur initiale de carre = 0, et j'ai compiler le programme et ça donne
X=9
La racine carre est 9
Il y a quelque chose qui cloche quelques part :s -
Celui là :
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i=0,carre,nbr;
printf("entrer un nbr");
scanf("%d",&nbr);
while(carre<nbr)
{
carre=i*i;
if(carre==nbr)
printf("la racine est %d",carre);
else
i++;
return 0;
} -
Bonjour
printf("la racine est %d",carre);
Et ça t'étonne que ça affiche le carré au lieu de la racine ? -
-
il faut faire plus simple et plus "naïf". Comment aurais-tu pu dire, depuis que tu as appris ce qu'est un carré, que 9 en est effectivement un ?
Et bien tu fais simplement des essais :
1 au carré -> 1 c'est pas 9
2 -> 4 , c'est pas 9
3 -> 9 , c'est 9 !!! Donc, oui, 9 est un carré et c'est le carré de 3.
Autre exemple, avec 21.
1 -> 1, c'est pas 21
2 -> 4, c'est pas 21
3 -> 9, c'est pas 21
4-> 16, c'est pas 21
5-> 25, c'est pas 21.
En plus, avec 5 on a dépassé 21. On a aucune chance qu'un nombre plus grand au carré donne 21, on s'arrette là et on constate que 21 n'est pas un carré.
Tu comprends ? -
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i , carre,nbr;
printf("entrer un nbr");
scanf("%d",&nbr);
while(carre<nbr)
{
carre=i*i;
if(carre==nbr)
printf("la racine est %d",carre);
else
i++;
return 0;
}
je les compiler sans prob mais ça n'exécute pas !!!??? prq ?