Informatică, întrebare adresată de Pisicuta1307, 9 ani în urmă

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




Exemplu

Date de intrare
173954 889205


Date de ieșire
DA

programul meu este acest:
#include
using namespace std;
int main()
{
int n,m,e,f,a=0;
cin>>n>>m;
while(n!=0&&m!=0)
{
e=n%10;
f=m%10;
if(e==f)
{
a++;
}
n=n/10;
m=m/10;
}
if(a!=0)
cout<<"DA";
else
cout<<"NU";
return 0;
stiu ca este gresit... dar parea logic..va rog ma puteti ajuta??

Răspunsuri la întrebare

Răspuns de express
25
Iti trimit sursa mea de 100p la problema Cifre Comune de pe pbinfo. Succes!
#include<iostream> using namespace std; int n, m, aux; bool ok; int main() { cin >> m >> n; while(m) { aux = n; while(aux) { if(aux % 10 == m % 10) ok=true; aux = aux / 10; } m = m / 10; } if(ok) cout<<"DA"; else cout<<"NU"; return 0; }
Alte întrebări interesante