secuencias ordenadas
Publicado por Nipulid (159 intervenciones) el 13/12/2009 20:55:38
Hola por favor que alguien me ayude!! por mas que lo doy vueltas no soy capaz de hacerlo con tipos simples.
El enunciado completo es el siguiente:
Supongamos que tenemos una caja que contiene infinitas fichas, cada ficha tiene escrita un número del 1 al 9. Queremos evaluar el número de veces que podemos ordenar las fichas de las que disponemos para que los números que muestren sumen una cierta cantidad.
Por ejemplo, si queremos obtener 4 como valor de la suma, tenemos 8 maneras
diferentes de disponer las fichas.
1 1 1 1
1 1 2
1 2 1
1 3
2 1 1
2 2
3 1
4
En la solución mostrada hemos seguido una ordenación similar al diccionario, donde
todas las palabras que empiezan por la ‘a’ aparecen antes que las que empiezan por la ‘b’. y aquellas empezando por ‘aa’ comienza antes que aquellas empezando por ‘ab’.
Hemos mostrado primero todas las que empiezan por 1 antes de aquellas que empiezan por 2 y lo mismo con las que empiezan por 1 1 antes que las que empiezan por 1 2.
Práctica:
Escribe un programa, que podrá tener los subprogramas que estimes convenientes, para determinar la n-ésima forma de ordenar las fichas para hacer una suma fija. Tú
programa debería recibir un entero s (1 0 s 0 32) y otro n (1 0 n < 231) y mostrar la nésima forma de ordenar las fichas, en orden de diccionario, para hacer la suma s.
Supondremos que el programa no recibirá un valor de n mayor que el número de formas de ordenar los bloques.
Ejemplo:
Veamos un ejemplo en el que se nos muestra la quinta forma de sumar el número
cuatro.
s -->4
n -->5
2 1 1
El enunciado completo es el siguiente:
Supongamos que tenemos una caja que contiene infinitas fichas, cada ficha tiene escrita un número del 1 al 9. Queremos evaluar el número de veces que podemos ordenar las fichas de las que disponemos para que los números que muestren sumen una cierta cantidad.
Por ejemplo, si queremos obtener 4 como valor de la suma, tenemos 8 maneras
diferentes de disponer las fichas.
1 1 1 1
1 1 2
1 2 1
1 3
2 1 1
2 2
3 1
4
En la solución mostrada hemos seguido una ordenación similar al diccionario, donde
todas las palabras que empiezan por la ‘a’ aparecen antes que las que empiezan por la ‘b’. y aquellas empezando por ‘aa’ comienza antes que aquellas empezando por ‘ab’.
Hemos mostrado primero todas las que empiezan por 1 antes de aquellas que empiezan por 2 y lo mismo con las que empiezan por 1 1 antes que las que empiezan por 1 2.
Práctica:
Escribe un programa, que podrá tener los subprogramas que estimes convenientes, para determinar la n-ésima forma de ordenar las fichas para hacer una suma fija. Tú
programa debería recibir un entero s (1 0 s 0 32) y otro n (1 0 n < 231) y mostrar la nésima forma de ordenar las fichas, en orden de diccionario, para hacer la suma s.
Supondremos que el programa no recibirá un valor de n mayor que el número de formas de ordenar los bloques.
Ejemplo:
Veamos un ejemplo en el que se nos muestra la quinta forma de sumar el número
cuatro.
s -->4
n -->5
2 1 1
Valora esta pregunta


0