1 条题解
-
0
给定, 找到所有n满足.
令, 有, 所以有, 其中. 求得最大公约数后再分解因子, .
#include <bits/stdc++.h> using namespace std; set<int> sep(int x) { set<int> s; for (int i = 1; i <= x / i; i++) { if (x % i == 0) { s.insert(i); s.insert(x / i); } } return s; } void solve() { int k; cin >> k; int x, y; cin >> x >> y; int g = __gcd(x, y); while (--k) { cin >> x >> y; g = __gcd(g, x); g = __gcd(g, y); } set<int> s = sep(g); for (int x : s) cout << x << " "; cout << "\n"; } int main() { int T = 1; // cin >> T; while (T--) solve(); return 0; }
- 1
信息
- ID
- 249
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- (无)
- 递交数
- 66
- 已通过
- 19
- 上传者