👤

Sa se afiseze toate numerele naturale mai mici decat n, care au proprietatea ca patratul si cubul fiecaruia au cel putin o cifra comuna; pt fiecare numar gasit sa se afiseze cate cifre sunt comune si care sunt acelea!

Va rog ajutati-ma, chiar nu-mi pot da seama cum se rezolva!


Răspuns :

#include <iostream>
using namespace std;

int cifre[10];

int adauga_cfr(int p, int c)
{
    int ok = 0;

    while(p) {
        cifre[p % 10] = 1;
        p /= 10;
    }

    while(c) {
        if(cifre[c % 10] == 1) cifre[c % 10] = 2, ok = 1;
        c /= 10;
    }

    if(ok) return 0;
    return 1;
}

int main()
{
    int n;

    cin >> n;
    for(int i=1, nr=0; i<n; i++, nr=0) {
        if(!adauga_cfr(i*i, i*i*i)) {
            cout << i << " - Cifrele comune sunt: ";
            for(int i=0; i<10; i++)
                if(cifre[i] == 2) nr++, cout << i << ' ';
            cout << " - Nr. cifre comune: " << nr << '\n';
        }
        for(int i=1; i<10; i++) cifre[i] = 0;
    }

    return 0;
}


Vă mulțumim că ați ales să vizitați platforma noastră dedicată Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări suplimentare sau aveți nevoie de ajutor, nu ezitați să ne contactați. Vă așteptăm cu drag data viitoare și vă încurajăm să ne salvați în lista de favorite!


Ze Questions: Alte intrebari