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

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
Exemple
Date de intrare Date de ieșire
1234 8

#include
using namespace std;
int N, x=1, a, m;
int main() {
cin >>N;
if(N!=0)
while(N!=0){
while(N!=0){
a=N%10;
x=x*a;
N/=10;
}
if(x>10){
N=x;
x=1;
}else
cout<< x;
}
else
cout<<"0";
}
ce este gresit?

Răspunsuri la întrebare

Răspuns de boiustef
1

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   int n, p, cW, m;

   cin >> n;

   cW=n; m=n;

   while (cW>9) {

       p=1;

       while (m>0) {

           p*=m%10;

           m/=10;

       }

       m=p;

       cW=m;

   }

   cout << cW;

   return 0;

}

Explicație:

Alte întrebări interesante