解题思路:
1.正常思路为要求最大的那个质数,那么从n-1开始枚举就可以,但是因为数据量很大,考虑到运算会超时,那么可以想到质数唯一分解定理,如果一个非质数可以分解成2个质数的积,那么他的因数除了1和本身的话,只有这两个,那么我们可以从最小值2开始枚举,如果n%i==0,那么输出n/i即可
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long n;
cin>>n;
for(long long i=2;i<n;i++)
{
if(n%i==0)
{
cout<<n/i;
return 0;
}
}
return 0;
}