Ver Mensaje Individual
  #10 (permalink)  
Antiguo 29/03/2015, 01:39
ecfisa
 
Fecha de Ingreso: julio-2012
Mensajes: 133
Antigüedad: 11 años, 9 meses
Puntos: 22
Respuesta: Ternas Pitagóricas, no logro hacerlo

Hola RGT.

En realidad no es tán complejo, para evitar la repetición de ternas basta con que la segunda variable de control se inicie con el último valor alcanzado por la primera. Y para el número de ternas se puede usar un contador.

A modo de ejemplo, aunque el número de ternas resulta inconexo con el máximo numero (seguramente una invalidará la otra), sería algo como:
Código C++:
Ver original
  1. #include <stdio.h>
  2.  
  3. int main() {
  4.   // nro de ternas, máximo nro, contador de ternas
  5.   int ternas = 5, num = 1000,  cont = 1;
  6.   int i, j, k;
  7.  
  8.   for(i = 1; i <= num && cont <= ternas; i++)
  9.     for(j = i; j <= num && cont <= ternas; j++)
  10.       for(k = 1; k <= num && cont <= ternas; k++)
  11.         if (i*i + j*j == k*k) {
  12.           printf("%4d: (%3d, %3d, %3d) : %4d + %4d = %4d\n",
  13.             cont, i, j, k, i*i, j*j, k*k);
  14.           cont++;
  15.         }
  16.  
  17.   getchar();
  18.   return 0;
  19. }

Saludos.