gpt4 book ai didi

c - 如何从这个毕达哥拉斯三元组代码中过滤重复出现的三元组?

转载 作者:太空宇宙 更新时间:2023-11-04 06:03:25 25 4
gpt4 key购买 nike

我写了下面的代码,但它重复输出。例如 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;

}

最佳答案

只需这样做:

for(side2=side1;side2<=till;side2++){

即更改此循环的起始值。这样,您只会找到 side2>=side1 的三元组,并且永远不会同时计算 (side1, side2, hyp) 类型的三元组和 (side2, side1,炒作)

关于c - 如何从这个毕达哥拉斯三元组代码中过滤重复出现的三元组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15114054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com