2010 Ejercicio 29: ¿cuántos términos distintos hay en la secuencia generada por a^b, con a y b comprendidos entre 2 y 100?
De Software Libre para la Enseñanza y el Aprendizaje de las Matemáticas (2010-11)
Revisión del 21:15 12 may 2010 de Rocmaralo (discusión | contribuciones)
Solución: ¿cuántos terminos distintos se generan en la secuencia a^b con 2<=a,b<=100?
 (%i1)terminos(n):= block([lista],
                    lista:[],
                             (for a from 2 thru n do 
                                         (for b from 2 thru n do 
                                                   (if (member(a^b,lista))
                                                        then (lista)
                                                        else (lista: cons(a^b, lista)))))
                    (length (lista)))$
 (%i2)terminos (100);
 (%02)done(9183)
 Una simplificación de este ejercicio es usando el comando not member:
 (%i2)terminos(n):= block([lista],
                   lista:[],
                            (for a from 2 thru n do 
                                        (for b from 2 thru n do 
                                                  (if not(member(a^b,lista))
                                                     then (lista: cons(a^b, lista)))))
                   (length (lista)))$
 (%02)terminos(100);
      done(9183)
