Я написал ниже код, но он дает результат повторный. Такие, как 3,4,5 и 4,5,3 и 5,4,3. Он показывает тот же триплет. Как я могу это предотвратить?Как фильтровать повторяющиеся триплеты из этого пифагорейского триплетного кода?
#include <stdio.h>
int main(void){
int side1=1;
int side2=1;
int hypotenus=1;
int till;
int count=0;
printf("Till what number do you want to find triplets?");
scanf("%d",&till);
for(side1=1;side1<=till;side1++){
for(side2=1;side2<=till;side2++){
for(hypotenus=1;hypotenus<=till;hypotenus++){
if(hypotenus*hypotenus==side1*side1+side2*side2){
count++;
printf("%5d %5d %5d is a triple \n",side1,side2,hypotenus);
}
}
}
}
printf("\n");
printf("%d triplets found.",count);
return 0;
}
Я был бы удивлен, увидев, что эта программа производит «4,5,3 и 5,4,3 ". Значение 'hypotenus' не может быть меньше, чем' side' или 'side2'. –
Вы правы, я просто привел их в качестве примера. Он дает только 3 4 5 и 4 3 5. Не третий – Lyrk