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

Cerință
Se dau 3 numere: A , B și C. B și C sunt numere naturale, iar A este nenul întreg. Se cere să se concateneze cele 3 numere, astfel formându-se un număr N și să se afișeze atât acesta, cât și dublul lui.

Date de intrare
Se citesc 3 numere, A , B și C, separate prin câte un spațiu.

Date de ieșire
Se vor afișa două numere: N, având semnificația din cerință, respectiv dublul acestuia. Numerele vor fi separate printr-un spațiu.

Restricții
0 ≤ |A| , B , C , |N| ≤ 1.000.000.000 , unde |X| reprezintă modulul numărului X.
N va avea semnul lui A
A este nenul
Exemplu
Date de intrare Date de ieșire
23 7 0 2370 4740
-56 1 1 -5611 -11222

Răspunsuri la întrebare

Răspuns de costysportiv
2

#include <string>

#include <iostream>

using namespace std;

int main () {

    unsigned B,C;

    int A;

    long long N = 0;

    string aux;

    bool sign;

    cin>>A>>B>>C;

    if (A>0){

         unsigned moduloA=A;

         sign=false;

    }

    else{

         unsigned moduloA=A*-1;

         sign=true;

    }

    while(moduloA){

         aux.resize(aux.length() + 1 );

         aux[aux.length()-1] = moduloA%10;

         moduloA/=10;

    }

    while(B){

         aux.resize(aux.length() + 1 );

         aux[aux.length()-1] =B%10;

        B/=10;

    }

    while(C){

         aux.resize(aux.length() + 1 );

         aux[aux.length()-1] =C%10;

        C/=10;

    }

    for (size_t i=0;i<aux.length();++i){

         N=N*10+aux[i];

    }

    if (sign==true){

         N=N*-1;

    }

    cout<<N<<" "<<2*N;

    return 0;

}

Alte întrebări interesante