三角形个数
题目描述
输入一根木棒的长度n,1<=n<=10000,将该木棒分成三段,每段的长度为正整数,输出由该三段小木棒组成的不一样的三角形个数。
输入描述
输入一个正整数,表示木棒的长度。
输出描述
输出一个正整数,表示三角形的个数。
样例
输入
10
输出
2
做题思路
首先枚举三条边的长度(注意去重),
然后我们判断符合三角形的条件(任何两边之长大于第三边),用一个计数器来统计满足条件的三角形个数;
最后输出。
代码
#include<iostream>
using namespace std;
int main(){
int n,cnt=0,k;
cin>>n;
for(int i=1;i<=n-2;i++){
for(int j=i;j<=n-i-1;j++){
k=n-i-j;
if(i+j>k&&i+k>j&&j+k>i&&k>=j){
cnt++;
}
}
}
cout<<cnt;
return 0;
}