题解 | #汪汪汪汪汪?#
汪汪汪汪汪?
https://ac.nowcoder.com/acm/contest/18962/A
D-----亲密数
#include <iostream> #include <valarray> using namespace std; //求因子和 int find(int x) { int sum = 1, t = sqrt(x); for (int i = 2; i <= t; ++i) if (x % i == 0) sum += i + x / i; if (t * t == x) sum -= t; return sum; } int main() { int l, r; cin >> l >> r; //输入边界检查 if (l >= r) { cout << "-1" << endl; return 0; } for (int a = l, b, c; a <= r; ++a) { b = find(a); c = find(b); if (a == c && a < b && b <= r) { //找到第一个就结束 cout << a << " " << b << endl; return 0; } } cout << "-1" << endl; return 0; }