杨利霞 发表于 2019-6-28 15:45

2019第十届蓝桥杯B组决赛题解第一题

2019第十届蓝桥杯B组决赛题解第一题

题意: 求2019<X<Y ,使2019*2019,X*X,Y*Y组成等差数列且X+Y最小.
结果: 7020
代码:
#include<bits/stdc++.h>
#define mem(a,b) memset(a,b,sizeof(a))
using namespace std;
typedef long long ll;
const int inf = 0x3f3f3f3f;
const int maxn = 3e5+55555;
const ll mod = 998244353;
const double eps = 1e-7;

int main() {
    int w = 2019*2019,x,y;

    for(int i = 2020;i<= 10000;i++) {
        x = i*i;
        y = i*i+i*i-w;
        int tmp = sqrt(y);
        if(tmp*tmp == y) break;
    }

    cout<<sqrt(x)+sqrt(y)<<endl;

    return 0;
}
---------------------
作者:nka_kun
来源:CSDN




页: [1]
查看完整版本: 2019第十届蓝桥杯B组决赛题解第一题