Diferencia entre revisiones de «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)
|  (Página creada con 'Solución: ¿cuántos terminos distintos se generan en la secuencia a^b con 2<=a,b<=100?    (%i1)terminos(n):= block([lista],                      lista:[],                     …') | |||
| Línea 12: | Línea 12: | ||
|    (%i2)terminos (100); |    (%i2)terminos (100); | ||
|    (%02)done(9183) |    (%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) | ||
Revisión del 21:15 12 may 2010
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)
