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;

}

Similar Posts

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *