나는 사용자가 입력 한 정수보다 작은 "c"값 (c는 빗변)이있는 모든 피타고라스의 트리플을 찾아야합니다. 나는 이것을 할 수 있었지만, 어떤 트리플이 "c"의 가장 큰 값을 가지고 있는지도 출력해야한다.가장 큰 빗변으로 피타고라스 트리플을 인쇄하는 법
# include <stdio.h>
int main()
{
int i=1, N, a, b, c;
printf("Please enter an integer number: ");
scanf("%d", &N);
for(c=1; c<N; c++)
{
for(b=1; b<c; b++)
{
for(a=1; a<b; a++)
{
if((a*a)+(b*b)==(c*c))
{
printf("\n%d.(%d,%d,%d)\n", i++, a, b, c);
}
}
}
}
printf("\nThere are %d triples which contain a c<N.\n\n", (i++)-1);
system("PAUSE");
return(0);
}
위의 코드 중 어떤 부분이 작동하지 않습니까? 구체적으로 말하십시오. –
마지막'printf' 문에는'i ++'가 필요 없습니다. 'i' 만 사용하십시오. 이 문장 다음에'i'의 값을 사용하지 않으면 코드에 아무런 영향을 미치지 않을 것입니다. 그러면 읽기가 더 어려워집니다. –
코드가 잘 작동합니다. 코드 끝 부분에서 "c의 가장 큰 값을 가진 트리플이 (?,?,?) 인 문장을 인쇄하는 방법을 모르겠습니다. 피할 때 가장 큰 pythagorean 트리플을 얻고 깨끗한 문장으로 끝까지 출력하는 방법을 알고있다. – the1whoknocks