题目链接: https://vjudge.net/problem/CodeForces-854A
题目描述: 已知两个数加和是n, 找到最大的分数a/b 使得 a<b && gcd(a,b) == 1
解题思路: 暴力即可
代码:
#include <iostream> #include <cstdio> #include <map> #include <iterator> #include <string> #include <algorithm> #include <vector> #include <cmath> #include <cstring> using namespace std; typedef long long ll; const int maxn = 1e3+10; int gcd(int a, int b) { return b == 0 ? a : gcd(b, a%b); } int main() { double n; cin >> n; double ans = -1.; double ans1 = 0; double ans2 = 0; for( double i = 1; i <= n; i++ ) { if( i < n-i ) { if( gcd(int(i), int(n-i)) == 1) { if( i / (n-i) > ans ) { ans1 = i; ans2 = n-i; } } } } cout << ans1 << " " << ans2 << endl; return 0; }
思考: 水题