Pascal/Turbo Pascal - secuencias

   
Vista:

secuencias

Publicado por Nipulid (2 intervenciones) el 26/11/2009 22:18:22
Hola tengo q hacer una practica con tipos simples y el caso es que no se me ocurre como hacerlo...
se trata de escribir un programa para determinar la n-ésima forma de ordenar las fichas para hacer una suma fija. 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.

ej:
s -- 4
n -- 5

1 1 1 1
1 1 2
1 2 1
1 3
2 1 1 --------> seria el valor q tendria q devolver por pantalla
2 2
3 1
4

alguna idea?? saludos,,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:secuencias

Publicado por Diego Romero (997 intervenciones) el 27/11/2009 00:15:38
No entendí. Hablas de ordenación pero más parece permutación con repeticiones.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:secuencias

Publicado por Nipulid (2 intervenciones) el 27/11/2009 10:39:57
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

supongo que no sera muy complicado pero llevo ya unos dias dandolo vueltas y no se me ocurre nada ya que tenemos que hacerlo con tipos simples y usando subprogramas...

Gracias por tu interes!!!
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:secuencias

Publicado por Diego Romero (997 intervenciones) el 28/11/2009 01:59:06
Creo que ya entendí el problema. Parece fácil a simple vista pero tengo que razonarlo más.

La primera restricción que veo para acotar el problema es que cualquiera sea la cifra en la combinatoria, no puede ser mayor que el resultado esperado. En tu ejemplo el 5 nunca será parte de la combinación.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:secuencias

Publicado por Nipulid (1 intervención) el 01/12/2009 10:29:19
En efecto Diego, no puede ser mayor que el resultado esperado es decir que nunca puede usarse el mismo numero que eliges en la suma como la n-esima forma de representacion. La verdad q por mas vueltas que lo doy con tipos simples no lo saco!!! gracias por las molestias!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:secuencias

Publicado por juan carlow (1 intervención) el 03/12/2009 20:17:32
buenas tardes!
Tengo que hacer el mismo programa q vosotros y ando loco, llegasteis a la solucion? no se como hacerlo.. gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:secuencias

Publicado por elena (1 intervención) el 17/12/2009 10:25:55
holaaa yo tambien tengo q acer este programa y la verdad q ando un poco liada, a ver si alguien nos da un poko de ayuda... muchas gracias adelantadas :D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:secuencias

Publicado por javi (4 intervenciones) el 29/12/2009 13:10:40
wenass

esto si q es una practica, la lei ace unos dias en el foro... y no encuentro la manera de resolverla, ya me tiene intrigado... y me gustaria q alguien me diera alguna instruccion o consejo sobre como resolverlo, no el programa entero, que esto es un reto personal jajajajajaja weno gracias de antemano y animo a los q la teneis q hacer!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar