题解(个人认为只有ACGO可过)
2026-07-06 21:59:28
发布于:上海
13阅读
0回复
0点赞
本题只需各位玩家用户知道gcd函数如何书写 就可做出
本题分四部做:
1.书写gcd函数
2.输入
3.求出符合互素条件两数和的最大值
4.输出答案
作为一道五级题 它并不算难 (这次考五级的人怎么那么幸运)
以下为题解
#include<bits/stdc++.h>
using namespace std;
int a[1999];
int gcd(int x, int y){ //书写gcd函数
while(y){
int t = x%y;
x = y;
y = t;
}
return x;
}
int ans;
int main(){
int n;
cin >> n;
for(int i = 1; i <= n; i++){ //输入
cin >> a[i];
}
int l = 1, r = l+1; //l为左指针 r为右指针
while(l < n){ //采用双指针遍历
for(int i = r; i <= n; i++){
if(gcd(a[l], a[i]) == 1){ //判断互素
ans = max(ans, a[l]+a[i]); //求最大值
}
}
l++;
r++;
}
cout << ans; //输出
return 0;
}
其实此代码效率低下也许吧
看看就行
有帮助最好
这里空空如也

有帮助,赞一个