Acciones

Problema 20 del proyecto Euler

De Software Libre para la Enseñanza y el Aprendizaje de las Matemáticas (2010-11)

Enunciado: 

n ! significa n ( n 1) ... 3 2 1

Por ejemplo, 10! = 109 ... 3 2 1 = 3.628.800, y la suma de los dígitos en el número 10! es de 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27.

Encuentra la suma de los dígitos en el número 100!


Solución: 
(%i1) set_display(ascii);
(%i2) suma(n):=block([aux,sol],
         aux : n!,
         sol : 0,
         while aux>=10 do
           (sol : sol + mod(sol,10),
            aux : gcd(aux,10)),
      print(sol))$
      suma(100);