输入一根木棒的长度 n,将该木棒分成三段,每段的长度为正整数,输出由该三段小木棒组成的不一样的三角形个数。
输入
一个整数n和t,1≤n≤10000。
输出
一行一个整数,不一样的三角形个数。
样例输入 Copy
10
样例输出 Copy
2
这道题也是可以使用枚举的,枚举三角形三边个数,但是要注意两边之和要大于第三边就可以解决了
这是优化后的代码
#include<bits/stdc++.h>
using
namespace
std;
int
n,s,x;
int
main(){
cin>>n;
for
(
int
i=n/3;i<=n/2;i++)
for
(
int
j=i;j>=n/4;j--){
x=n-i-j;
if
(x<=j&&x+j>i) s++;
}
cout<<s;
return
0;
}