SDUT-3073 數三角形(JAVA*)

數三角形
Time Limit: 1000 ms Memory Limit: 65536 KiB

Problem Description
有多少種方法可以從1,2,3,4,….,n中選出3個不同的整數,使得以它們爲三邊長可以形成三角形?
比如n=5時有3種方法,即(2,3,4),(2,4,5),(3,4,5)。n = 8時有22種方法。

Input
測試數據的第一行爲整數n(3<=n<=100)。 多組輸入
Output
輸出其方案總數。
Sample Input
5
Sample Output
3
Hint

Source
scf

package leslie1;

import java.util.*;

public class Main {
    static int f[]=new int[499];
    public static void F()
    {
        for(int i=1;i<=100;i++)
        {
            int sum=0;
            for(int j=2;j<i-1;j++)
            {
                for(int k=i-1;k>j;k--)
                {
                    if(i>=j+k)
                        break;
                    else
                        sum++;
                }
            }
            f[i]=sum+f[i-1];
        }
    }

    public static void main(String[] args) {
        Scanner cin = new Scanner(System.in);
        F();
        while(cin.hasNext())
        {
            int n=cin.nextInt();
            System.out.printf("%d\n",f[n]);
        }
        cin.close();
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章