Vierkantswortel in C ++ - Logica en vierkantswortel van een getal in C ++

Inhoudsopgave:

Anonim

Inleiding tot vierkantswortel in C ++

Laten we vandaag hier iets leren over een van de bekende wiskundige berekeningen, Square Root. En we gaan C ++ programmeren gebruiken om de vierkantswortel van een bepaald getal te vinden. Zoals reeds bekend, is C ++ een uitbreiding van de programmeertaal C waarbij het concept van OOPS wordt geïntroduceerd; laten we beginnen met het maken van onze eigen vierkantswortelfunctie in C ++.

Logica van vierkantswortel in C ++

Om onze vierkantswortelfunctie te hebben, moeten we de juiste logica begrijpen van hoe deze vierkantswortel eigenlijk wordt berekend.

Er zijn eigenlijk veel manieren om de logica ook te begrijpen, maar we beginnen eerst met het basisniveau.

  • We weten dat het kwadraat van een getal een macht van 2 is. Op dezelfde manier zou vierkantswortel een macht van ½ zijn. Hiervoor kunnen we een pow-functie gebruiken onder de h-pakketbibliotheek.

Laten we eens kijken hoe we dit kunnen vertegenwoordigen in C ++.

#include
#include
using namespace std;
int main()
(
int num;
float result;
cout<<"Enter number: ";
cin >> num;
result = pow(num, 0.5);
cout << "Square root of given number is " << result;
return 0;
)

Output:

  • In een andere methode kunnen we logica op een omgekeerde manier hebben. Zoals, het kwadraat van het verkregen eindresultaat moet het getal zijn dat we hebben gekozen.

Laten we eens kijken hoe we dit kunnen vertegenwoordigen in C ++.

#include
#include
using namespace std;
int main()
(
int num;
float result =0 ;
double sq;
cout<<"Enter number: ";
cin >> num;
sq = result*result;
while (sq < num)
(
result = result + 1;
sq = result*result;
if(num == sq)
(
cout<< result;
break;
)
)
cout<< " square root lies between "<< result-1 << " and " << result;
return 0;
)

Ik zal bovenstaande niet als perfect beschouwen, omdat de uitvoer correct komt, alleen als het een perfect vierkant is. Dit is zo omdat; we verhogen de resultaatwaarde direct met een geheel getal 1. Dus als het geen perfect vierkant is, kunnen we de uitvoer weergeven zoals hieronder.

We kunnen zelfs dezelfde logica zo schrijven dat deze ook de exacte vierkantswortel met decimalen berekent. Vind het hieronder.

Root vinden

Dus er zijn natuurlijk veel manieren om de vierkantswortel van een getal te vinden. De bovenstaande twee methoden kunnen ook worden gebruikt bij het verkrijgen van de root. Laten we nu eens kijken hoe we de vierkantswortel logische code nauwkeuriger en logischer kunnen schrijven.

#include
#include
using namespace std;
int main()
(
float num, i;
cout<<"Enter number: ";
cin >> num;
for(i=0.01;i*i<=num;i=i+0.01);
if(num==0)
(
cout<<"Square root of given number is 0";
)
else if(num==1)
(
cout<<"Square root of given number is 1";
)
else if( num < 0 )
(
cout<<"Enter a positive number to find square root";
)
else
(
std::cout << std::fixed;
std::cout << std::setprecision(3);
cout<<"Square root of given number is " < )
)
#include
#include
using namespace std;
int main()
(
float num, i;
cout<<"Enter number: ";
cin >> num;
for(i=0.01;i*i<=num;i=i+0.01);
if(num==0)
(
cout<<"Square root of given number is 0";
)
else if(num==1)
(
cout<<"Square root of given number is 1";
)
else if( num < 0 )
(
cout<<"Enter a positive number to find square root";
)
else
(
std::cout << std::fixed;
std::cout << std::setprecision(3);
cout<<"Square root of given number is " < )
)

Ja, code lijkt kort en eenvoudig. Hier gaat de logica:

  • We declareren onze twee waarden, een getal dat als input wordt genomen en één is ons resultaat.
  • De gebruiker vragen een nummer in te voeren waarvoor we de vierkantswortel moeten schrijven.
  • In for lus gaan we i-waarde initiëren tot 0, 01 omdat we onze resultaten in decimalen moeten hebben.
  • Vervolgens gaan we dat uitvoeren voor een lus totdat het kwadraat van i-waarde kleiner zou zijn dan de door de gebruiker ingevoerde waarde.
  • En we gaan de i-waarde alleen met 0, 01 verhogen, omdat we decimale punten nodig hebben en we de i-waarde proportioneel moeten verhogen volgens de verklaring.
  • Indien waargenomen, hebben we een puntkomma aan het einde van de for-lus bewaard, waardoor de lus wordt uitgevoerd zonder interne instructies uit te voeren totdat aan de voorwaarde is voldaan.
  • Nu kunnen we bepalen of een voorwaarde voor de ingevoerde waarde nul is en dan onmiddellijk 0 retourneren.
  • Geef op dezelfde manier de uitvoer als 1, als de ingevoerde waarde één is.
  • In het volgende, als voorwaarde, gaven we een voorwaarde voor elke negatieve waarde die wordt gegeven als gebruikersinvoer.
  • Op de voorwaarde anders gaan we i-waarde uitvoeren.
  • Hier hebben we een vaste precisiemethode gebruikt en het aantal decimalen vastgesteld op 3 cijfers, zodat de verkregen output uniform wordt verkregen.

Opmerking: De verklaring van iomanip- pakket en inclusief in het programma is verplicht om deze ingestelde precisiemethode te gebruiken.

De output is hieronder bijgevoegd:

Op deze manier kunnen we eenvoudig de vierkantswortel van een getal perfect berekenen. Kun je als oefening proberen de vierkantswortel van een getal op een andere manier te vinden?

Conclusie

Op deze manier kunnen we dus onze eigen vierkantswortelfunctie in C ++ hebben. We kunnen zelfs vierkantswortel vinden met behulp van Euclidiaans, Bayesiaans en zelfs door sorteertechnieken. En zoals iedereen in elk geval weet, kunnen we zelfs de vierkantswortel rechtstreeks berekenen met de sqrt-functie.

Aanbevolen artikelen

Dit is een gids voor de vierkantswortel in C ++. Hier bespreken we de introductie en logica van vierkantswortel in C ++ samen met root vinden. U kunt ook de volgende artikelen bekijken voor meer informatie -

  1. Sterpatronen in c ++
  2. C ++ String Functies
  3. Arrays in C ++
  4. Constructor in C ++
  5. Gids voor vierkantswortel in Java