三角形方案数
题目:
小D有一根长度为n的绳子,小D准备把这根绳子切成三段,拼出一个三角形,这个三角形可能是锐角三角形,也可能是直角三角形,更可能是钝角三角形。作为一个爱思考的同学,小D想要知道有多少种不同的切割方案可以拼出直角三形。
#include<stdio.h>
int main()
{
int i,j,n,k,t,ans;
scanf("%d", &t);
while(t–)
{
ans=0;
scanf("%d", &n);
for(i=1;i<=n-2;i++)
{
for(j=i;j<=n-i-1;j++)
{
k=n-i-j;
if(k>=i&&k>=j&&(ii+jj==k*k)) /要注意怎么在循环里避免重复/ 直接规定i最小,j其次,k最大
ans++;
}
}
printf("%d\n", ans);
}
return 0;
}
不同的切割顺序切出三段长度分别一致的绳子,视为同一种方案,例如n=12时,按长度3、4、5的顺序切割,和按长度4、3、5的顺序切割,都可以拼出直角三角形,但两者是一种方案。