👤
Mierlaaurie
a fost răspuns

Cerinţa
Se citesc două numere naturale n și m. Să se decidă dacă cele două numere au cel puțin o cifră comună.

Date de intrare
Programul citește de la tastatură numerele n și m.

Date de ieşire
Programul afișează pe ecran mesajul DA, dacă cele două numere au cel puțin o cifră comună, respectiv NU în caz contrar.

Restricţii şi precizări
1 ≤ n, m ≤ 1.000.000.000


Răspuns :

#include <iostream>

using namespace std;

short vcn[10], vcm[10];  //vectorii cifrelor lui n si m

int main()

{

   int n, m, cif, comune;

   cout << "n="; cin >> n;

   cout << "m="; cin >> m;

   while (n)

   {

       cif=n%10;

       ++vcn[cif];

       n/=10;

   }

   while (m)

   {

       cif=m%10;

       ++vcm[cif];

       m/=10;

   }

   comune=0;

   for (cif=0; cif<10; ++cif)

       if (vcn[cif]>0 && vcm[cif]>0)  { comune=1; break; }

   if (comune==1) cout << "DA";

   else cout << "NU";

   return 0;

}


Eu m-am gandit ca merge reolvata asa:


Vezi imaginea Griandreea4
Vezi imaginea Griandreea4