Cerinţa
Să se scrie un program care verifică dacă un număr natural citit de la tastatură este pătrat perfect.
Date de intrare
Programul citește de la tastatură numărul natural n.
Date de ieşire
Programul afișează pe ecran mesajul da, dacă n este pătrat perfect, respectiv nu în caz contrar.
Restricţii şi precizări
n < 2.000.000.000
Răspunsuri la întrebare
varianata cu sqrt din libraria <cmath>
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int n;
cin >> n;
if ((int) sqrt(n) == sqrt(n))
cout << "da";
else
cout << "nu";
return 0;
}
varianta fara sqrt
#include<iostream>
using namespace std;
int main() {
int n;
float x = 0, sqrt;
cin >> n;
sqrt = n / 2;
while (sqrt != x) {
x = sqrt;
sqrt = (n / x + x) / 2;
}
if (sqrt == (int) sqrt)
cout << "da";
else
cout << "nu";
}
Program C++
#include <iostream>
#include <math.h>
using namespace std;
int main(){
//Declarare variabile
int n,radacina;
//Citere numar
cin>>n;
//Calculare radacina patrata (partea intreaga)
radacina=sqrt(n);
//Verificare
if(radacina*radacina==n){
cout<<"da";
}else{
cout<<"nu";
}
}
Explicatie
Variabila "radacina" memoreaza un numar intreg. Atribuind acestei variabile valoarea sqrt(n) aceasta va memora partea intreaga a lui radical din n.
Un numar este patrat perfect daca si numai daca