牛牛的三角形

分析:
1.题目意思就是输出一组能组成三角形的数,前提要在数组里面选
2.由于数据很大,所以我们用long long去定义数组
3.初中知识,满足任意两边之和大于第三遍就可以,寻找之前要排序!!!,只要找到一组数据就输出return 0就行。
4.记住数组不能越界访问!

#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e3 + 10;
long long a[maxn];
int main()
{
   
    int n;
    while (~scanf("%d", &n))
    {
   
        for (int i = 1; i <= n; ++i)
            scanf("%lld", &a[i]);
        sort(a + 1, a + n + 1);
        for (int i = 1; i <= n - 2; ++i)
        {
   
            if (a[i] + a[i + 1] > a[i + 2])
            {
   
                cout << a[i] << ' ' << a[i + 1] << ' ' << a[i + 2] << endl;
                return 0;
            }
        }
        cout << "No solution" << endl;
    }
}



牛牛的鱼缸

分析

相似三角形原理

分两种情况讨论
1.水少形成一个三角形
2.水多形成一个

#include <bits/stdc++.h>
using namespace std;
int main()
{
   
    double h, l, H, L;
    scanf("%lf%lf%lf%lf", &h, &l, &H, &L);
    if (h * L <= H * l)
        printf("%.8f\n", h * h * L / (2 * H));
    else
        printf("%.8f\n", (2 * h * L * l - H * l * l) / (2 * L));
    return 0;
}


XP的三角形

题目描述
XP最喜欢的图形是三角形,最近他在研究直角三角形,他想到这么一个问题,如果三边长{a,b,c}均为整数的直角三角形周长为p,(a<=b<=c)当p = 120时,恰好存在三个不同的解:{a=20,b=48,c=52}, {a=24,b=45,c=51}, {a=30,b=40,c=50}。现在给定一个p求不同的解的个数。(p<=1000)
输入
单组输入数据

p

输出
输出一行结果

样例输入
120
样例输出
3

题目分析

  1. 如果直接三层for循环暴力枚举,不仅耗时而且做了许多的无用功
  2. 我们都知道第三条边可以由另外两条边来判断,这样就减少了一层循环
  3. 由于斜边是最长的边,且根据三角形三边和的关系,我们知道斜边i的范围是[1,p/2),这样一来循环的次数就减少了很多
  4. 再枚举第二条边j,显而易见第二条边的范围是[1,i),因为它不可能超过斜边,同理,第三条边就是(p-i-j)为了避免重复,保证第三条边的边长小于第二条边
  5. 直角三角形公式i * i=j * j +k*k

AC代码

#include <bits/stdc++.h>
#define ll long long
#define inf 0x3f3f3f3f
using namespace std;
int main()
{
   
    int p;
    while (~scanf("%d", &p))
    {
   
        int ans = 0;
        for (int i = 1; i < p / 2; ++i)
        {
    //枚举斜边
            for (int j = 1; j < i; ++j)
            {
   
                int k = p - i - j;
                if (k <= j)
                {
   
                    if (j * j + k * k == i * i)
                        ++ans;
                }
            }
        }
        printf("%d\n", ans);
    }
    return 0;
}

感恩母亲节~

不要在遥远的距离中割断了真情,不要在日常的忙碌中遗忘了真情,不要在日夜的拼搏中忽略了真情