Să se scrie un program care verifică dacă un număr natural citit de la tastatură este pătrat perfect.
Răspunsuri la întrebare
Răspuns de
61
#include <iostream>
#include <math.h>
using namespace std;
int main(){
int n;
cin>>n;
if((int)sqrt(n)==(float)sqrt(n)){
cout<<"DA";
}else{
cout<<"NU";
}
return 0;
}
#include <math.h>
using namespace std;
int main(){
int n;
cin>>n;
if((int)sqrt(n)==(float)sqrt(n)){
cout<<"DA";
}else{
cout<<"NU";
}
return 0;
}
artur99:
cu shortif ;)
Răspuns de
24
Varianta mai rapida (prob) si FARA SQRT DIN CMATH
#include <iostream>
using namespace std;
int main()
{
int n, i, p;
cin >> n;
for(p = 1; p * p <= n; p <<= 1);
p >>= 1;
if(p * p == n) {
cout << "DA\n";
return 0;
}
else {
for(i=p; p; p >>= 1)
if ((i + p) * (i + p) <= n)
i += p;
}
if(i * i == n) cout << "DA\n";
else cout << "NU!\n";
return 0;
}
#include <iostream>
using namespace std;
int main()
{
int n, i, p;
cin >> n;
for(p = 1; p * p <= n; p <<= 1);
p >>= 1;
if(p * p == n) {
cout << "DA\n";
return 0;
}
else {
for(i=p; p; p >>= 1)
if ((i + p) * (i + p) <= n)
i += p;
}
if(i * i == n) cout << "DA\n";
else cout << "NU!\n";
return 0;
}
Alte întrebări interesante
Engleza,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
10 ani în urmă
Limba română,
10 ani în urmă
Matematică,
10 ani în urmă
Matematică,
10 ani în urmă