Vă rog mult sa ma ajutați am nevoie urgent de rezolvare in C++
Se citesc de la tastatură două numere a și b naturale ce au maximum 18 cifre.
a) Afișați cifrele care să găsesc în numărul a, dar nu se găsesc și în numărul b.
b) Afișați care dintre cele două numere are cel mai multe cifre distincte.
c) Afișați cea mai mare cifră care se regăsește atât în a cât și în b.
Răspunsuri la întrebare
Răspuns:
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int f[10],f1[10];
ll a,b;
int main()
{
cin>>a>>b;
ll ca=a,cb=b;
while(a)
{
f[a%10]++;
a/=10;
}
while(b)
{
f1[b%10]++;
b/=10;
}
/// cerinta a
cout<<"a)"<<'\n';
for(int i=0;i<=9;i++)
if(f[i]!=0 && f1[i]==0)
cout<<i<<' ';
cout<<'\n';
///cerinta b
cout<<"b)"<<'\n';
int cnta=0,cntb=0;
for(int i=0;i<=9;i++)
{
if(f[i]==1)
cnta++;
if(f1[i]==1)
cntb++;
}
if(cnta>=cntb) //daca cele 2 nr au acelasi nr de cifre distincte, l-am scos pe a(poti sa il schimbi tu)
cout<<ca;
else
cout<<cb;
cout<<'\n';
///cerinta c
cout<<"c)"<<'\n';
for(int i=9;i>=0;i--)
if(f[i]!=0 && f1[i]!=0)
{
cout<<i;
break;
}
return 0;
}