Se citesc de la tastatură 2 numere naturale. Pentru cel mai mare dintre numere să calculeze suma cifrelor impare, iar pentru cel mai mic să se afișeze numărul total de divizori.
Răspunsuri la întrebare
#include <iostream>
using namespace std;
int main(){
int a,b;
cin >> a >> b;
if(b>a) swap(a,b);
//Suma cifre impare
int s=0;
while(a){
if(a%2)s+=a%10;
a=a/10;
}
cout << s << endl;
//Numar divizori
int i,d=0;
for(i=1;i<=b;i++){
if(b%i==0)d++;
}
cout << d;
}
#include <iostream>
using namespace std;
int main ()
{int a,b,nrmare,nrmic,s,nr,p,d;
cout<<"a=";cin>>a;
cout<<"b=";cin>>b;
if (a>b) {nrmare=a; nrmic=b;}
else {nrmare=b; nrmic=a;}
s=0;
while (nrmare>0)
{if (nrmare%2==1) s=s+ nrmare%10;
nrmare=nrmare/10;
}
p=1;
d=2;
while(nrmic!=1)
{ nr=0;
while (nrmic%d==0) {nr=nr+1; nrmic=nrmic/d; }
if (nr>0) p=p*(nr+1);
d=d+1;
}
cout<<"s cifrelor impare ale numarului mai mare="<<" "<<s<<'\n';
cout<<"nr divizorilor numarului mai mic este"<<" "<<p;
return 0;
}