输入一根木棒的长度 n,1≤n≤10000,将该木棒分成三段,每段的长度为正整数,输出由该三段小木棒组成的不一样的三角形个数
题解代码如下:
#include<bits/stdc++.h>
using namespace std;
int n,ans,j;
int main()
{
cin>>n;
for(int i=1; i<=n-2; i++)
for(int k=i; k<=n-2; k++) //n-2避免出现有条边为0
{
j=n-i-k; //枚举两条边,计算第三条边
if(j>=k&&j>=i&&i+k>j) //从小到大输出,判重+可以构成三角形
ans++;
}
cout<<ans;
return 0;
}