Autor
|
Tema: Retos de programación C/C++ (Leído 3,546 veces)
|
kutcher
Desconectado
Mensajes: 53
|
Buenas, abro este post para ir publicando una serie de retos a medida que vayan resolviendo los mismo, con el objetivo estimular a la comunidad a participar mediante la resolución de problemas que competen al mundo de la programación que tanto nos apasiona RETO #1:Los primeros dos números consecutivos para tener dos factores primos distintos son: 14 = 2 x 7 15 = 3 x 5
Los primeros tres números consecutivos para tener tres factores primos distintos son: 644 = 2² x 7 x 23 645 = 3 x 5 x 43 646 = 2 x 17 x 19.
Encuentra los primeros cuatro números enteros consecutivos para tener cuatro factores primos distintos. ¿Cuál es el primero de estos números? Espero su participación
|
|
|
En línea
|
|
|
|
Blaster
Desconectado
Mensajes: 190
|
Hola kutcher me parece excelente la iniciativa este tipo de actividades es lo que hacia falta a este subforo, en cuanto al primer reto lo veo difícil pero de igual manera estoy en ello Saludos
|
|
|
En línea
|
|
|
|
engel lex
|
no lo entendí bien, si es y tienes el primer numero que requiere 3 primos diferentes... aunque no se si te refieres el primer numero de 3 cifras tal que sea producto de 3 primos es un numero más bajo que el mostrado por ti...
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
do-while
Desconectado
Mensajes: 1.276
¿Habra que sacarla de paseo?
|
¡Buenas! no lo entendí bien, si es y tienes el primer numero que requiere 3 primos diferentes... aunque no se si te refieres el primer numero de 3 cifras tal que sea producto de 3 primos es un numero más bajo que el mostrado por ti... De forma general, se refiere a que k enteros consecutivos, tengan m factores primos distintos. Si quieres plantear el problema de forma general podrías hacer una función que, por ejemplo, reciba tres parámetros, k y m enteros y un vector de dimensión k, y almacene en el vector los primeros k enteros consecutivos que tengan exactamente m factores primos distintos. ¡Saludos!
|
|
|
En línea
|
- Doctor, confundo los números y los colores. - Vaya marrón. - ¿Marrón? ¡Por el culo te la hinco!
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Buenas, abro este post para ir publicando una serie de retos a medida que vayan resolviendo los mismo, con el objetivo estimular a la comunidad a participar mediante la resolución de problemas que competen al mundo de la programación que tanto nos apasiona
Encuentra los primeros cuatro números enteros consecutivos para tener cuatro factores primos distintos. ¿Cuál es el primero de estos números?
Espero su participación
134043 = 3 * 7 * 13 * 491 134044 = 2^2 * 23 * 31 * 47 134045 = 5 * 17 * 19 * 83 134046 = 2 * 3^2 * 11 * 677
¡¡¡¡ Saluditos! ..... !!!!
|
|
« Última modificación: 16 Agosto 2014, 11:38 am por leosansan »
|
En línea
|
|
|
|
Blaster
Desconectado
Mensajes: 190
|
Encuentra los primeros cuatro números enteros consecutivos para tener cuatro factores primos distintos. ¿Cuál es el primero de estos números?
Tal vez no sea la solución mas rápida pero ira mejorando: #include <stdio.h> int factor_primo(int n) { int cant = 0, i; for( i = 2; n != 1; i++) if(n % i == 0) { cant++; do n = n / i; while(n % i == 0); } return cant; } int main(void) { int n = 0; int i, c = 0; for(i = 100000 ;; i++) { (factor_primo(i) == 4) ? c++ : (c = 0); if (c == 4) { n = i - 3; break; } } for(i = 0; i < 4; i++) printf("%d\n", n + i); return 0; }
Seria interesante que publiquen los códigos con los cuales resuelven el problema
|
|
« Última modificación: 16 Agosto 2014, 18:16 pm por Blaster »
|
En línea
|
|
|
|
leosansan
Desconectado
Mensajes: 1.314
|
Tal vez no sea la solución mas rápida pero ira mejorando: .............................................. Seria interesante que publiquen los códigos con los cuales resuelven el problema
No dudo que lo podamos mejorar, aunque a bote pronto no veo por donde. Respecto a lo de publicar código siento haber puesto la otra noche la solución sin el mismo pero los habituales del foro creo que me comprenderán. Se debe a que en estos últimos tiempos cuando cuelgo código en el foro o me lo borran directamente o sencillamente bloquean el tema y esto último me hubiera dolido ya que habría afectado a todos los seguidores del tema por mi culpa. Y es que me zumban todavía en mis oídos unas palabras de engel lex: "León para que pones código si sabes que te lo van a borrar". Pero en vista de que, por ahora al menos, eso no ha pasado, paso a poner mi código que básicamente es similar al ya expuesto sólo que no hago uso de función, más que nada para no tener que estar llamando a la misma tropecientas veces y esperando su respuesta, y que es más "cortito", está compactado como simple ejercicio. Lo habría hecho más cortito sin tanto define pero por claridad y facilidad para cambiar (podemos calcular qué dos enteros tienen dos factores, o tres tres, o tres cuatro, o cuatro cuatro o ....). Creo que venía bien, así como los nombres dados a las variables. Son largos pero sabes en cada momento qué diablos hace cada variable: #include <stdio.h> #define NumFactores 4u #define NumEnteros 4u #define NumInicial 130000u int main ( ) { unsigned int i , numero , inumero = NumInicial , divisor = 2 , contEnteros = 0 , num_fact = 0 ; while ( 1 ) { num_fact = 0 , numero = inumero++ ; while ( numero > 1 ) for( divisor = 2 ; numero > 1 ; divisor++ ) if ( numero % divisor == 0 && num_fact++ >= 0 ) { while ( ( numero /= divisor ) % divisor == 0 ) ; } if ( ( contEnteros = ( num_fact == NumFactores ) ? contEnteros + 1 : 0 ) == NumEnteros ) { for ( i = 0 ; i < NumEnteros ; i ++ ) printf ( "%u " , inumero - NumEnteros + i ) ; break ; } } return 0; }
Y ojito a la variable "NumInicial" ya que si vas a calcular los tres primeros enteros que tengan tres factores habrá que bajarla a algo como 600 (eso es porque ya lo he calculado y sé que salen algo superior a 600 ) o a 20 si vas a calcular qué dos enteros tienen dos factores, etc. Lo propio sería ponerla a 2 y así vale para cualquier valor sólo que se penaliza el tiempo de respuesta. Y sin otro particular, y a la espera de nuevos Retos, un fuerte abrazo a todos de León. ¡¡¡¡ Saluditos! ..... !!!! P.D: Sólo espero que no sea una tarea disfrazada de Reto.
|
|
« Última modificación: 17 Agosto 2014, 09:23 am por leosansan »
|
En línea
|
|
|
|
Eternal Idol
Kernel coder
Moderador
Desconectado
Mensajes: 5.960
Israel nunca torturó niños, ni lo volverá a hacer.
|
Hola kutcher me parece excelente la iniciativa este tipo de actividades es lo que hacia falta a este subforo, en cuanto al primer reto lo veo difícil pero de igual manera estoy en ello Bueno, para mi no le faltaba nada al foro y ahora le sobra este hilo, da la impresion de que no hay nada util que hacer estos dias (como si estuvieran jubilados o no hubieran trabajado jamas), nadie a quien ayudar con problemas reales y entonces tienen que estar retandose entre los usuarios para tener un objetivo y subir codigo compulsivamente. Aca tienen un par de nuevos retos en serio y no solamente malas excusas para subir codigo al foro: Hagan un programa para generar una imagen de un disco rigido (como VHD y VMDK). Hagan un antivirus con scanner en tiempo real. Creen una solucion a un problema real: BadUSB. Creen un tutorial sobre como optimizar codigo, asi nos ahorran 15.000 versiones de soluciones al mismo problema.
leosansan: cuando usas el foro como chat o incluis alusiones a un usuario que no esta participando del hilo - no es la primera vez - tambien te puedo editar y/o borrar el mensaje, que lo sepas; si tenes alguna queja este subforo nunca es el lugar donde hacerla, nunca, te podes comunicar por privado o escribir en "Sugerencias y dudas sobre el Foro" como ya hicieron en su momento, te recuerdo que no hubo ningun cambio de reglas desde ese momento y son las mismas desde antes de que te registraras al foro. Mi postura tambien sigue siendo la misma, algo de codigo es aceptable hasta cierto punto, pero cuando se nota que no aporta nada: "No dudo que lo podamos mejorar, aunque a bote pronto no veo por donde." ya no es aceptable y se bloquea el tema. Espero que tu postdata fuera una broma.
En general creense un Blog/Foro si quieren retarse con problemas elementales (o incluso complejos) y si solo quieren subir codigo esta sourceforge por ejemplo, piensen algo proyecto util.
|
|
|
En línea
|
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste. Juan Domingo Perón
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Funcionamiento de los IDE de los retos de programación en WarZone..
WarZone
|
sirdarckcat
|
0
|
3,914
|
3 Junio 2007, 10:14 am
por sirdarckcat
|
|
|
Retos
Desafíos - Wargames
|
@synthesize
|
8
|
9,619
|
13 Junio 2010, 04:24 am
por @synthesize
|
|
|
Retos C/C++
« 1 2 ... 8 9 »
Ejercicios
|
[L]ord [R]NA
|
85
|
55,313
|
3 Octubre 2010, 16:57 pm
por Komodo
|
|
|
Retos .Net
« 1 2 3 »
Ejercicios
|
[D4N93R]
|
20
|
19,993
|
6 Diciembre 2010, 03:26 am
por final_frontier
|
|
|
Retos C/C++
Programación C/C++
|
N0body
|
5
|
10,947
|
9 Mayo 2011, 09:54 am
por ghastlyX
|
|