【未整備】UVA-11401:Triangle Counting


Triangle Counting
出典:UVA
ラベル:
参考資料:
類似タイトル:
タイトル
You are given n rods of length 1, 2, . . . , n. You have to pick any 3 of them and build a triangle. How many distinct triangles can you make? Note that, two triangles will be considered different if they have at least 1 pair of arms with different length.
入力
The input for each case will have only a single positive integer n (3 ≤ n ≤ 1000000). The end of input will be indicated by a case with n < 3. This case should not be processed.
しゅつりょく
For each test case, print the number of distinct triangles you can make.
入力サンプル
5 8 0
出力サンプル
3 22
リファレンスコード
#include
long long f[1000010];
int main(){
    f[3]=0;
    for(long long x=4;x<=1000000;x++){
        f[x]=f[x-1]+((x-1)*(x-2)/2-(x-1)/2)/2;
    }
    int n;
    while(~scanf("%d",&n)){
        if(n<3) break;
        printf("%lld
"
,f[n]); } return 0; }