14 条题解

  • 9
    @ 2023-3-19 21:32:25

    P1008 三角形个数

    题目描述

    输入一根木棒的长度n,将该木棒分成三段,每段的长度为正整数,输出由该三段小木棒组成的不一样的三角形个数。


    思路

    挨个枚举呗,把符合的累加一下。

    for(int i = 1;i <= n - 2;i++)
        {
            for(int j = i;j <= n - 2;j++)
            {
                l = n - i - j;
                if(i + j > l && l >= i && l >= j)
                {
                    sum++;
                }
            }
        }
    

    不过其实循环没啥技术含量,还是主要判断条件

    l = n - i - j;
    if(i + j > l && l >= i && l >= j)
    {
         sum++;
    }
    

    两边之和大于第三边:

    i + j > l

    实现不同的:

    l >= i && l >= j

    连起来,成了。


    参考代码

    #include <iostream>//hetao3097453
    using namespace std;
    int l,sum;
    int main()
    {
        int n;
        cin >> n;
        for(int i = 1;i <= n - 2;i++)
        {
            for(int j = i;j <= n - 2;j++)
            {
                l = n - i - j;
                if(i + j > l && l >= i && l >= j)
                {
                    sum++;
                }
            }
        }
        cout << sum;
        return 0;
    }
    
    

    hetao3097453(bililili @ 一钩出站)

    2023年3月19日


信息

ID
12
时间
1000ms
内存
256MiB
难度
5
标签
递交数
3873
已通过
1590
上传者