Autor
|
Tema: GENERAR 6 NÚMEROS DEL 1 AL 40 QUE SUMADOS DEN 125 (Leído 9,693 veces)
|
Shell Root
|
No se te tiene que ocurrir nada, AHI LO TIENES!, ajjaja
|
|
|
En línea
|
Te vendería mi talento por poder dormir tranquilo.
|
|
|
MCKSys Argentina
|
No se me ocurre como hacer el código para que cumpla con lo solicitado en el algoritmo, me pueden ayudar con el código
Bueno, yo sigo la regla del foro: no se hacen tareas. Por esto no te daré el codigo para que copies y pegues. Necesitas hacerlo por ti mismo/a, sino NUNCA aprenderas. Algunos tips: Debes declarar las variables usadas y cerrar los for's. Los resultados correctos (lo que cumplen el requisito) saldran en la ventana de debug (inmediato) si reemplazas el print por debug.print. Podrias colocar todo el codigo en el evento click de un boton (por dar un ejemplo). Saludos!
|
|
« Última modificación: 24 Septiembre 2013, 23:13 pm por MCKSys Argentina »
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
Ahorsa
Desconectado
Mensajes: 15
|
Yo pude resolverlo en Python (cambie las características del programa) solo que, hay algunos errores que no logro imaginar la solución. n=0; for a in range(0,6): for b in range(0,6): for c in range(0,6): if (a!=b!=c): if ((a+b+c)==2): print(a,b,c); n+=1 print ("Se han encontrado:",n,"maneras posibles de encontrar la suma")
Este solo calcula A+B+C = 2 Pero en si el programa arroja: 0 2 0 1 0 1 Se han encontrado 2 maneras posibles de encontrar la suma
cuando en realidad existen mas maneras por ejemplo: 1,1,0 2,0,0 0,0,2; etc. ¿Tendré que mover los fors para que cada uno tenga su orden de principio a fin? Saludos! Edito: Creo que viéndolo bien, tengo mal el concepto inicial.
|
|
|
En línea
|
|
|
|
yolanda10
Desconectado
Mensajes: 7
|
Gracias, pero estas considerando el 0 y el rango es del 1 al 40. Agradecería si me ayudas con el código para que cumpla con lo solicitado en el algoritmo
|
|
|
En línea
|
|
|
|
arts
Desconectado
Mensajes: 103
|
Yo lo he realizado en Java, aunque tendrías que ver si te vale que se repitan los números en diferente orden. package PackPrimerDia; public class PrimerDia { public static void main (String[] args ){ int x = 0; for (int c_1=1;c_1<=36;c_1++){ for (int c_2=1;c_2<=37;c_2++){ for (int c_3=1;c_3<=38;c_3++){ for (int c_4=1;c_4<=39;c_4++){ for (int c_5=1;c_5<=40;c_5++){ if (c_1+c_2+c_3+c_4+c_5 == 125){ x++; System. out. println("Combinacion Nº: "+x +" "+c_1 +" "+c_2 +" " +c_3 +" " +c_4 +" " +c_5 ); } } } } } } } }
|
|
|
En línea
|
|
|
|
yolanda10
Desconectado
Mensajes: 7
|
Gracias por tu aporte lo he probado pero genera repetición aunque en diferente orden, aumenta mucho el número de la lista
|
|
|
En línea
|
|
|
|
arts
Desconectado
Mensajes: 103
|
La otra forma que es la que no me gustaría tener que hacerla, es la de guardar en un array bidimensional de a saber cuantas filas y 6columnas, cada una de las lineas generadas se comprueba primero que no se encuentren en el array y una vez comprobado que no se encuentra la guardo como válida,sim embargo no me gusta porque me parece fatal optimizado el algoritmo, tardará 4 veces mas en generarlo, aunque si que no se repetiría ningún nº.
|
|
|
En línea
|
|
|
|
MCKSys Argentina
|
En python: def main(): cuenta=0 for i in range(1,36): for j in range(i+1,37): for k in range(j+1 , 38): for l in range(k+1 , 39): for m in range(l+1 , 40): for n in range(m+1 , 41): if i+j+k+l+m+n == 125: print str(i) + " + " + str(j) + " + " + str(k) + " + " + str(l) + " + " + str(m) + " + " + str(n) + " = 125" cuenta += 1 print 'Total: %s' %cuenta if __name__ == '__main__': main()
Imprime un total de 56363 combinaciones posibles. Saludos! PD: Segun el enunciado, los que no deben repetirse son los 6 números de la suma. Las combinaciones posibles pueden repetir los números en diferentes posiciones, siempre y cuando no repitan números en la misma suma.
|
|
« Última modificación: 25 Septiembre 2013, 23:26 pm por MCKSys Argentina »
|
En línea
|
MCKSys Argentina "Si piensas que algo está bien sólo porque todo el mundo lo cree, no estás pensando."
|
|
|
arts
Desconectado
Mensajes: 103
|
Joooder si se me permite la expresión, acabo de ver tu código y me parece increible, y ¿ dices que es lo primero que se te ocurre a bote pronto ? XD, que bueno.
|
|
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
Aplica el concepto de divide y vencerás... es posible que se agilice...
Dulces Lunas!¡.
|
|
« Última modificación: 26 Septiembre 2013, 06:14 am por BlackZeroX (Astaroth) »
|
En línea
|
The Dark Shadow is my passion.
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Generar numeros aleatorios sin repeticion[C]
Programación C/C++
|
HRSLASH
|
2
|
25,518
|
28 Diciembre 2010, 06:58 am
por von Newman
|
|
|
Generar números aleatorios sin que se repitan ... en C++
Programación C/C++
|
drawiz
|
4
|
28,316
|
17 Octubre 2019, 07:46 am
por Mecanma
|
|
|
Programa para generar numeros aleatorios
Programación C/C++
|
pedrokuellar
|
8
|
8,519
|
24 Octubre 2011, 22:37 pm
por s00rk
|
|
|
Generar 6 números y ordenarlos en el mismo bucle(lenguaje C)
Programación C/C++
|
NOB2014
|
4
|
3,143
|
18 Septiembre 2014, 17:30 pm
por rir3760
|
|
|
Generar numeros que contengan un numero dado x
« 1 2 »
Programación C/C++
|
GoBrit
|
13
|
6,154
|
17 Enero 2015, 02:28 am
por engel lex
|
|