Să se afişeze numărul pătratelor perfecte mai mici decât un număr n citit de la tastatură. 10
Pentru a afla numărul pătratelor perfecte mai mici decât un număr n, putem parcurge toate numerele naturale de la 1 la n și pentru fiecare număr verificăm dacă este pătrat perfect. Dacă este, incrementăm un contor și afișăm numărul.
Exemplu de implementare în C++ cu o buclă for:
#include <iostream>
#include <cmath> // bibliotecă pentru funcția sqrt()
using namespace std;
int main() {
int n, cnt = 0;
cout << „Introduceti un numar: „;
cin >> n;
for (int i = 1; i * i <= n; i++) {
cnt++; // incrementăm contorul dacă i este pătrat perfect
cout << i * i << endl; // afișăm numărul pătrat perfect
}
cout << „Numarul de patrate perfecte mai mici decat ” << n << ” este ” << cnt << endl;
return 0;
}
Exemplu de implementare în C++ cu o buclă while:
#include <iostream>
#include <cmath> // bibliotecă pentru funcția sqrt()
using namespace std;
int main() {
int n, i = 1, cnt = 0;
cout << „Introduceti un numar: „;
cin >> n;
while (i * i <= n) {
cnt++; // incrementăm contorul dacă i este pătrat perfect
cout << i * i << endl; // afișăm numărul pătrat perfect
i++; // trecem la următorul număr
}
cout << „Numarul de patrate perfecte mai mici decat ” << n << ” este ” << cnt << endl;
return 0;
}
Exemplu de implementare în C++ cu o buclă do-while:
#include <iostream>
#include <cmath> // bibliotecă pentru funcția sqrt()
using namespace std;
int main() {
int n, i = 1, cnt = 0;
cout << „Introduceti un numar: „;
cin >> n;
do {
if (i * i <= n) { // dacă i este pătrat perfect și mai mic decât n
cnt++; // incrementăm contorul
cout << i * i << endl; // afișăm numărul pătrat perfect
}
i++; // trecem la următorul număr
} while (i * i <= n);
cout << „Numarul de patrate perfecte mai mici decat ” << n << ” este ” << cnt << endl;
return 0;
}