#include <iostream>
using namespace std;
int main() {
int val;
cout << "Enter the number: ";
cin >> val;
if( val< 0) {
cout<< "According to my maths its not possible." << endl;
} else {
float low = 0, high = val;
float mid = (low + high)/2;
int c = 0;
while (c != 1) {
if(mid * mid = val) {
cout << "Square root is: " << mid <<endl;
c = 1;
} else {
if(mid * mid > val) {
high = mid;
mid = (low + high)/2;
} else {
low = mid;
mid = (low + high)/2;
}
}
}
}
return 0;
}
Écrivez du code pour trouver Square-Root en utilisant la méthode de bissection en C ++? [fermé
-
29-07-2022 - |
Question
La bissection est pour autant que je sache pour réduire votre recherche et atteindre la valeur spécifique de l'intervalle. Veuillez me donner un échantillon de ce comment faire un code générique pour trouver Square-Root. La façon dont je pense prendre trois variables basses, moyennes, hautes. high = userInput, bas = 0, mid (faible + high) / 2, le problème est de savoir comment modifier les valeurs alors.
La solution
Autres conseils
Disons que nous recherchons sqrt(N)
Comme décrit ici, vous devez trouver la moyenne de faible et haut, si le carré de moyenne est supérieur à N
, nous modifions la valeur élevée avec la moyenne que nous venons de trouver, si elle est inférieure à N
, nous modifions la faible valeur avec la moyenne. Et nous répétons les étapes autant de fois pour satisfaire la précision requise.