| |

Să se afişeze toate numerele naturale cuprinse între a şi b (aSă se afişeze toate numerele naturale cuprinse între a şi b (a<b) care au proprietatea că pătratul şi cubul lor, reprezentate în baza 2, conțin acelaşi număr de cifre binare 0. a şi b se introduc de la tastatură. 13

#include <iostream>

using namespace std;

int main() {

    int a = 1, b = 100;

    for (int i = a; i <= b; i++) {

        int sqr = i * i;

        int cube = i * i * i;

        int sqr_zeros = 0, cube_zeros = 0;

        while (sqr > 0) {

            if (sqr % 2 == 0) {

                sqr_zeros++;

            }

            sqr /= 2;

        }

        while (cube > 0) {

            if (cube % 2 == 0) {

                cube_zeros++;

            }

            cube /= 2;

        }

        if (sqr_zeros == cube_zeros) {

            cout << i << endl;

        }

    }

    return 0;

}

Acest program folosește un for loop pentru a itera prin toate numerele între a și b. Pentru fiecare număr, calculează pătratul și cubul său și numără numărul de cifre binare 0 din reprezentarea lor în baza 2, utilizând două while loops și operatorul % pentru a verifica dacă cifra curentă este 0. Dacă numărul de cifre 0 din reprezentarea în baza 2 a pătratului este egal cu numărul de cifre 0 din reprezentarea în baza 2 a cubului, numărul este afișat la consolă utilizând std::cout.

#include <iostream>

using namespace std;

int main() {

    int a = 1, b = 100;

    for (int i = a; i <= b; i++) {

        int sqr = i * i;

        int cube = i * i * i;

        int sqr_zeros = 0, cube_zeros = 0;

        while (sqr > 0) {

            if (sqr % 2 == 0) {

                sqr_zeros++;

            }

            sqr /= 2;

        }

        while (cube > 0) {

            if (cube % 2 == 0) {

                cube_zeros++;

            }

            cube /= 2;

        }

        if (sqr_zeros == cube_zeros) {

            cout << i << endl;

        }

    }

    return 0;

}

Acest program folosește un for loop pentru a itera prin toate numerele între a și b. Pentru fiecare număr, calculează pătratul și cubul său și numără numărul de cifre binare 0 din reprezentarea lor în baza 2, utilizând două while loops și operatorul % pentru a verifica dacă cifra curentă este 0. Dacă numărul de cifre 0 din reprezentarea în baza 2 a pătratului este egal cu numărul de cifre 0 din reprezentarea în baza 2 a cubului, numărul este afișat la consolă utilizând std::cout.

Similar Posts

Lasă un răspuns

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