Si queremos hallar todas las tuplas menores a un número "n", lo podemos hacer usando la búsqueda exhaustiva o fuerza bruta.
La siguiente función imprime todas las ternas Pitagóricas menores a "n" y regresa la cantidad de ternas.
int terna(int n){
int i,j,k,cont;
cont=0;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(k=1;k<=n;k++)
if(i*i==j*j+k*k){
printf("( %d , %d , %d )\n",j,k,i);
cont++;
}
return cont;
}
En este caso el programa halla ternas menores a 200
- //Terna Pitagorica
- #include<stdio.h>
- int terna(int n){
- int i,j,k,cont;
- cont=0;
- for(i=1;i<=n;i++)
- for(j=1;j<=n;j++)
- for(k=1;k<=n;k++)
- if(i*i==j*j+k*k){
- printf("( %d , %d , %d )\n",j,k,i);
- cont++;
- }
- return cont;
- }
- int main(){
- int n,cantidad;
- n=200;
- cantidad=terna(n);
- printf("existen %d ternas menores a %d ",cantidad,n);
- return 0;
- }