大白书讲的很好。。
#include <iostream> #include <cstring> using namespace std; typedef long long LL; const int MAXN = 1001000; LL n,A[MAXN]; int main() { A[3] = 0; for(LL i=4;i<MAXN;i++) A[i] = A[i-1] + ((i-1)*(i-2)/2 - (i-1)/2)/2; while(cin>>n && n) { if(n < 3) break; cout<<A[n]<<endl; } return 0; }