Ir para conteúdo
Fórum Script Brasil
  • 0

Numeros de pitagoras


brunoandrad

Pergunta

Pessoal, não estou conseguindo fazer a lógica para resolver o problema abaixo:

Um triângulo retângulo pode ter lados que sejam todos inteiros. O conjunto de três valores inteiros para os lados de um triângulo retângulo é chamado números de Pitágoras. Esses três lados j devem satisfazer o relacionamento de que a soma dos quadrados dos dois lados (catetos) deve ser igual ao quadrado da hipotenusa. Encontre todos os números de Pitágoras para cateto1, cateto2 e hipotenusa menores que 500.

 

Tentei da forma abaixo, mas não retorna nada:

    for (i=0; hipo<=500;i++){
            hipo++;

        for (x=0; cat1<=500;x++)
    {
            cat1++;

            for (y=0; cat2<=500;y++)

                {
                    cat2++;
                    aux =hipo*hipo;
                    pit=(cat1*cat1+cat2*cat2);
                    if (aux == pit)
                    printf("\nSão numeros de Pitagoras: %d - %d - %d", hipo,cat1,cat2);


                }

        }
    }

Alguém poderia me dizer onde estou errando?

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Minha tentativa:

#include <stdio.h>

int main() {
    int cateto1, cateto2, hipotenusa;

    for(hipotenusa = 1; hipotenusa < 500; hipotenusa++) {
        for(cateto1 = 1; cateto1 < 500; cateto1++) {
            for(cateto2 = 1; cateto2 < 500; cateto2++) {
                int esquerdo = cateto1 * cateto1 + cateto2 * cateto2;
                int direito = hipotenusa * hipotenusa;

                if(esquerdo == direito) {
                    printf("São números de pitágoras: %d - %d - %d\n", hipotenusa, cateto1, cateto2);
                } else if(esquerdo > direito) {
                /* otimização de performance -- não haverão mais números válidos quando o lado esquerdo é maior que o direito */
                    break;
                }
            }
        }
    }

    return 0;
}

Abraços!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...