Advertisement
nasho97

Lab3Preg1

Oct 14th, 2017
281
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.55 KB | None | 0 0
  1. //Ignacio Ruiz
  2. //13 de octubre
  3. //La Pieza perdida
  4. //Buscar la pieza que falta en el puzle encontrado
  5.  
  6. unsigned int persistenciaMultiplicativa (unsigned long long num)        //Comienzo de Función, se le entrega el numero al cual se le calculará la P.M
  7. {
  8.     unsigned long long aux;                                             //auxiliar donde se guarda la multiplicación de los dígitos del número
  9.     unsigned short cont;                                                //contador de cuántas veces se ha hecho el proceso
  10.    
  11.     if ((num<=9)&&(num>=0))                                             //si está entre 0 y 9, directamente se entrega 0, ya que está listo
  12.     {
  13.         return 0;
  14.     }
  15.    
  16.     do                                                                  //Ciclo que se repite hasta que el número, solo tenga un dígito
  17.     {
  18.         cont++;                                                         //se le va sumando uno al contador, para llevar la cuenta de cuántas veces se lleva haciendo el proceso
  19.         aux=1;                                                          //Se reinicia auxiliar para volver a usar
  20.        
  21.         do                                                              //ciclo donde se hace la multiplicación de los dígitos del número
  22.         {
  23.             aux=aux*(num%10);                                           //se corta el último dígito, y se guarda y multiplica
  24.             num=num/10;                                                 //y ahora se corta el dígito para modificar el numero en si mismo
  25.         } while (num!=0);                                               //Se repite hasta que lleguemos al último dígito
  26.         num=aux;                                                        //Se asigna el nuevo número si es que hay que hacer más ciclos
  27.     } while (num>=10);                                                  //hasta que el número sea menor a 10, que significaria que tiene un dígito solo
  28.    
  29.     return cont;                                                        //se retorna el contador, indicando cuántas veces se hizo el proceso
  30.    
  31. }                                                                       //Fin Función
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement