题意:给你一个n,问你1~n中取出3个数构成不同三角形的种类数,但是n<3时就弹出噢,刚开始就因为这个WA了。
题解:找规律,直接看表格。
#include<iostream>
using namespace std;
const int maxn=1e6+7;
long long f[maxn];
int main()
{
f[4]=1,f[5]=3;
long long k=2;
for(int i=6;i<maxn;i++)
{
if(i%2==0)
{
f[i]=f[i-1]+f[i-1]-f[i-2]+k;
}
else
{
f[i]=f[i-1]+f[i-1]-f[i-2]+k;
k++;
}
}
int n;
while(cin>>n)
{
if(n<3)//小于3就弹出
break;
cout<<f[n]<<endl;
}
return 0;
}