1 条题解

  • 0
    @ 2025-8-28 12:07:18

    我们可以找到它最小的质因子来反推出它最大的质因子。 我们要注意的是,22下一个质数是33,所以要进行特判。上代码:

    #include <bits/stdc++.h>
    using namespace std;
    int find_min(int n, int i) {
    	if (n % i == 0) return i;
    	int nxt = (i == 2) ? 3 : i + 2; // 对2进行特判
    	return find_min(n, nxt); // 递归查找下一个质因子
    }
    int n;
    int main(void) {
    	cin >> n;
    	int p = find_min(n, 2);
    	cout << n / p;
    	return 0;
    }

    信息

    ID
    10
    时间
    1000ms
    内存
    256MiB
    难度
    10
    标签
    (无)
    递交数
    1
    已通过
    1
    上传者