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

Cerință

Se dă un număr natural N. Să se afișeze cifra Mar a acestuia. Cifra Mar 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 Mar .


Restricții

0 ≤ N ≤ 1.000.000.000

Exemple

Date de intrare Date de ieșire

1234 8Explicație

1 * 2 * 3 * 4 = 24

2 * 4 = 8

Răspunsuri la întrebare

Răspuns de robertanisoiu
2

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   int n, x, ok = 0, Mar;

   cout<<"Introduceti numarul n : ";

   cin>>n;

   // In variabila x punem numarul initial

   x=n;

   // repetam inmultirea cifrelor numarului pana cand produsul ramane o singura cifra

   do

   {

       ok=0;

       Mar=1;

       // in variabila Mar punem produsul cifrelor

       while(x)

       {

           Mar=Mar*(x%10);

           x=x/10;

       }

       // Verificam daca variabila Mar are mai mult de o cifra

       // Daca are mai mult de o cifra repetam ciclul

       if(Mar/10>0)

       {

           ok = 1;

           x=Mar;

       }

   } while(ok==1);

   cout<<"Numarul Mar al numarului "<<n<<" este : "<<Mar;

   return 0;

}

Explicație:

Alte întrebări interesante