👤

Se citeşte un număr natural, n (n≥1), şi se cere să se scrie numărul obţinut prin duplicarea
fiecărei cifre pare a lui n sau -1 dacă acesta nu are nicio cifră pară.
Exemplu: dacă n=2380 se scrie
2238800
Scrieți un program in C++


Răspuns :

#include <iostream>

using namespace std;

int main(){

int x,y;

cin >> x;

bool areCifPare=false;

y = 0;

int zf = 0;

while(x!=0){

y=y*10+x%10;

if(x%10==0)zf++;

areCifPare= areCifPare || x%2==0;

x/=10;

}

if(!areCifPare){cout<<"-1"; return 0;}

while (y){

int c=y%10;

if (c%2==0)

x = x*100+11*c;

else x = x*10+c;

y/=10;

}

cout << x;

for(int i = 0; i < zf; i++)

cout << "00";

cout <<'\n';

return 0;

}

Răspuns:

#include <iostream>

using namespace std;

long long n,cif,p=1,nou,exista;

int main()

{

   cin >> n;

   while (n)

   {

       cif=n%10;

       if (cif%2==0)

       {

           exista=1;

           nou=cif*p+nou;

           p=p*10;

           nou=cif*p+nou;

       }

       else

       {

           nou=cif*p+nou;

       }

       p*=10;

       n/=10;

   }

   if (exista) cout << nou;

   else cout << -1;

}

Explicație:

Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!


ID Learners: Alte intrebari