elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a la Factorización De Semiprimos (RSA)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con Ternas Pitagóricas en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con Ternas Pitagóricas en C  (Leído 2,505 veces)
RGT

Desconectado Desconectado

Mensajes: 33



Ver Perfil
Ayuda con Ternas Pitagóricas en C
« en: 28 Marzo 2015, 22:18 pm »

Hola, soy nuevo en el foro y quiero enviarles un saludo a todos ustedes.


Código:
//Declaración de variable
    int liN, liContador1, liContador2, liContador3, liContadora = 0;

    //Entrada de datos
    printf("Ingrese un valor: ");
    scanf("%d", &liN);

    //Procesamiento
    printf("\n");

    for (liContador1 = 1; liContador1 <= liN; liContador1++)
    {
        for (liContador2 = 1; liContador2 <= liN; liContador2++)
        {
            for (liContador3 = 1; liContador3 <= liN; liContador3++)
            {
                if (liContador1 * liContador1 + liContador2 * liContador2 == liContador3 * liContador3)
                    printf("(%d, %d, %d)\t", liContador1, liContador2, liContador3);
            }
        }
    }

    printf("\n");



Tengo este código hecho y me muestra muchos resultados, algunos que no aparecen, por ejemplo en wikipedia y algunos sitios web que enseñan este método.

Tengo algo mal o me falta hacer algo?.

Espero que me ayuden y saludos a todos!.


En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Ayuda con Ternas Pitagóricas en C
« Respuesta #1 en: 29 Marzo 2015, 00:55 am »

como no especificas... supongo que lo dices por las ternas

(6,8,10), (8,6,10), etc

pero si 6,8,10 es una terna por que no aparece? simple... 6,8,10 es lo mismo que 3,4,5 y solo toman las formas simplificadas ya que por la teoria... lee la parte de ternas primitivas y no primitivas...


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.
RGT

Desconectado Desconectado

Mensajes: 33



Ver Perfil
Re: Ayuda con Ternas Pitagóricas en C
« Respuesta #2 en: 29 Marzo 2015, 05:43 am »

Hola, y qué debo de hacer para que salgan las correctas?.
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Ayuda con Ternas Pitagóricas en C
« Respuesta #3 en: 29 Marzo 2015, 11:48 am »

las que tienes son correctas... supongo que lo que quieres dcir, es que tienes que hacer solo para que salgan solo las ternas primitivas... mira lo que dice la teoría sobre la primitiva y aplica lo que la hace primitiva...

por otro lado para quitar las ternas repetidas como (4,3,5) que claramente es (3,4,5) no permitas que "b" sea nunca menor que "a"
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.
RGT

Desconectado Desconectado

Mensajes: 33



Ver Perfil
Re: Ayuda con Ternas Pitagóricas en C
« Respuesta #4 en: 29 Marzo 2015, 17:14 pm »

Hola, intento hacerlo y no me sale :(
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Ayuda con Ternas Pitagóricas en C
« Respuesta #5 en: 29 Marzo 2015, 17:26 pm »

Que intentas hacer y no te sale?
Muestra el código a ver que error tienes
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.
RGT

Desconectado Desconectado

Mensajes: 33



Ver Perfil
Re: Ayuda con Ternas Pitagóricas en C
« Respuesta #6 en: 29 Marzo 2015, 18:23 pm »

    for (liContador1 = 1; liContador1 <= liN; liContador1++)
    {
        for (liContador2 = liContador1 ; liContador2 <= liN; liContador2++)
        {
            for (liContador3 = 1; liContador3 <= liN; liContador3++)
            {
                TernasPitagoras(liContador1, liContador2, liContador3);
            }
        }
    }

Hize un cambio (marcado en negrita) y todavia me sale algunos repetidos.
En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Ayuda con Ternas Pitagóricas en C
« Respuesta #7 en: 29 Marzo 2015, 19:28 pm »

no veo repeticiones, con el cambio de codigo ya no te quedan inversiones

nada de (3,4,5) (4,3,5)

por cierto... liContador3 tambien debería ser inicialmente = liContador1, ya que nunca la suma de los cuadrados nunca será menor que ninguno de los valores

ahora solo te falta imprimir solo las primitivas y terminaste... y por lo que veo no estás intentando lo que ya te he dicho

Citar
mira lo que dice la teoría sobre la primitiva y aplica lo que la hace primitiva...

la teoria está en wikipedia
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.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines