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

IN C++ ; NUMAI CU WILE sau cu IF eventual , Cifra Wellcode 470
Cerință
Se dă un număr natural N. Să se afișeze cifra Wellcode a acestuia. Cifra Wellcode se calculează făcând produsul cifrelor numărului, după care produsul cifrelor produsului și așa mai departe până când produsul obținut este o cifră.

Date de intrare
Se citește un singur număr, N, având semnificația din enunț.

Date de ieșire
Se va afișa o singură cifră, reprezentând cifra Wellcode.

Restricții
0 ≤ N ≤ 1 000 000 000

EXEMPLU : 1234 1*2*3*4=24 = 2*4 = 8
VA ROG SA EXPLICATI ! MULTUMESC !

Răspunsuri la întrebare

Răspuns de simulink
2

Răspuns:

#include <iostream>

using namespace std;

int main()

{ int n,cw;

   cout << "n= " ; cin>>n;

 cw=n;

  while (cw>9)

   { cw=1;

       while (n!=0)

   {

       cw=cw*(n%10);

       n=n/10;

      }n=cw; }

  cout<<"Cifra Wellcode este "<<cw;

  return 0;

}

Explicație:

Voi retine produsul cifrelor unui numar in variabila cw;

Pentru a inmulti cifrele unui numar procedez in felul urmator:

 cw=1; // initializez cw cu 1 (element neutru la inmultire)

 while (n!=0)       //cat timp numarul este nenul (are cifre)

   {

       cw=cw*(n%10);  //extrag ultima cifra (n%10) si o inmultesc in produs (cw)

       n=n/10;   //tai cifra din numar

      }

Dupa aceasta secventa, in variabila cw voi avea produsul cifrelor lui n. Dar daca cw va avea mai mult de 1 cifra (cw>9) va trebui sa repet procedeul cu cifrele numarului cw.

Prin urmare, dau lui n valoarea cw  (n=cw;)si repet secventa de mai sus.


simulink: este do-while. :P
mihailv1610: nu stiu ce e do-wile !!!
simulink: am modificat sa fie cu WHILE simplu
mihailv1610: SUPER! dar , trebuie la final sa apara numai cifra ! scriu : cout << cw ; ?
simulink: da
mihailv1610: MULTUMESC MULT !
simulink: Sa scoti eventual si cout << "n= " ; de la inceput
mihailv1610: SIGUR ! MULTUMESC !
simulink: ar trebui sa incerci si singur eventual pe probleme mai usoare, ca sa te obisnuiesti cu structurile astea si modul de gandire.
mihailv1610: DA, AM SA FAC CATE VA SI SINGUR !
Alte întrebări interesante