题意:输入一个数n,求由1~n这n个数能构成多少种三角形。
思路:穷举多个样例然后找到规律。
这里送上解题过程
代码如下:
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
#define INF 0x3f3f3f3f
LL a[1000005];
int main()
{
int n;
a[4]=1;LL sum=1,ans=1;
for(LL i=5;i<=1000000;i++)
{
a[i]=a[i-1]+ans+sum;
ans+=sum;
if(i%2) sum++;
}
while(~scanf("%d",&n))
{
if(n<3) break;
if(n==3) printf("0\n");
else printf("%lld\n",a[n]);
}
}