Informatică, întrebare adresată de Demasca, 8 ani în urmă

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.


dariusnatalya: teas fi ajutat daca eram putin mai mare imi pare rau

Răspunsuri la întrebare

Răspuns de andrei750238
0

#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;

}

Răspuns de adresadeemail1112
0

#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;

}

Alte întrebări interesante