使用瞪眼法(看题目条件)可知 n≤109n \le 10^9n≤109 ,所以我首选暴力枚举,于是就有了以下代码:
#include <bits/stdc++.h> using namespace std; int n; int main() { cin >> n; for (int i = n - 1; i >= 2; i--) { /* 从大往小枚举,这样不用特判 */ if (n % i == 0) { cout << i; break; /* 输出即停止 */ } } return 0; }
注册一个 HydroOJ 通用账户,您就可以在我们提供的所有在线评测服务上提交代码、参与讨论。
使用您的 HydroOJ 通用账户