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

Coduri de reducere!
lonel a creat pentru magazinul lui un program care generează coduri de reducere, pentru a atrage cât mai mulți clienţi. Totuşi,
pentru ca acel cod de reducere să poată functiona, lonel trebuie să ii adauge incă o cifră la început
Acum, lonel are nevoie de un program care poate face acest lucru pentru un singur cod de reducere. Amicul său, Cosmin, o să se
asigure că programul pe care il vei scrie va fi ulterior aplicat pe toate codurile
Date de intrare
Programul citeste de la tastatură un număr n şi o cifră a
Date de ieșire
Programul trebuie să afişeze codul de reducere rezultat după adăugarea cifrei c la începutul său, precum și dublul noului cod
obţinut.
Restricții si precizări
• 1 <=n <=10 000 000
• 1<=c<=9
Exemplu
Date de intrare 2345 1
Date de ieşire 12345 24690

Răspunsuri la întrebare

Răspuns de simulink
1

Răspuns:

#include <iostream>

using namespace std;

int main()

{ int n,c;

   cin>>n; cin>>c;

   

   int p=10;

   

   while (n/p!=0) p=p*10;

   n=c*p+n;

   cout<<n<<" "<<2*n;

   return 0;

}

Explicație:


mariamagdalena2269: Mie nu îmi afișează corect, poate îmi scapă mie ceva...
simulink: ce nu iti afiseaza? am testat in CodeBlocks si pe exemplul dat de tine si pe altele si functioneaza perfect
mariamagdalena2269: Pai practic trebuie sa afișeze “c” lipit de “n”, nu sa se înmulțească . Spre exemplu , pentru n=2345 și c=5, sa afișeze 12345, apoi dublul noului număr obținut ( in exemplul de fata, dublul lui 12345).
simulink: Citeste mai bine. Trebuie c lipit la inceputul lui n (lonel trebuie să ii adauge incă o cifră la început). Citeste mai cu atentie si incearca sa rulezi pe exemplul dat sa vezi ca afiseaza fix ce trebuie.
simulink: Nu l-am inmultit pe c cu n. L-am refacut pe n, punandu-i-l pe c in fata. In variabila p am calculat folosindu-ma de acel while, ordinul de marime a lui n( cea mai mica putere a lui 10 mai mare decat n). Apoi l-am inmultit pe c cu p si l-am adunat pe vechiul n=> noul n cu acel c lipit in fata.
simulink: De expl, daca n=23 si c=5 , p=100 , iar n=100*5+23=523
simulink: daca n=2345 si c=1; p calculat va fi p=100000 iar n= c*p+n = 100000*+2345 n=12345
mariamagdalena2269: Merci frumos de explicații și răbdare! Încerc sa refac și sa implementez !
mariamagdalena2269: Aveam pusă o acolada aiurea... mulțumesc frumos !
Alte întrebări interesante