正确答案还没出来,有写代码的部分仅属于自己的见解。持续更新中....
A-题目描述:
请找到两个正整数X和Y满足下列条件:
1、2019<X<Y
2、2019^2、X^2、Y^2构成等差数列
满足条件的X和Y可能有多种情况,请给出X+Y的值,并且令X+Y尽可能的小。
思路:直接暴力,sqrt函数会丢失精度,把找到的值再平方一下看看是否构成等差数列,找到的第一对 x,y值为即为答案。
#include<iostream>
#include<cmath>
using namespace std;
int main()
{
for(long long x = 2020;; x ++){
long long y =sqrt(2*x*x - 2019*2019);
if(x * x - 2019 * 2019 == y * y - x * x){
cout<<x<<" + "<<y<<" = "<<x + y <<endl;
break;
}
}
return 0;
}
答案:7020
B-题目描述:
2019可以被分解成若干个两两不同的素数,请问不同的分解方案有多少种?
注意:分解方案不考虑顺序,如2+2017=2019和2017+2=2019属于同一种方案。