恳求各路大神赐高见
by hgggggg @ 2023-08-10 15:32:06
应该是我做太多循环的问题吗
by hgggggg @ 2023-08-10 15:33:11
循环会导致超出限制的至少次数是什么
by hgggggg @ 2023-08-10 15:34:23
你这个时间复杂度 $O(n^2)$ 肯定不行,看看我的:
```cpp
#include <iostream>
#include <algorithm>
using namespace std;
long long n,mx = -1;
int is_prime(int m) {
if (m <= 1) return 0;
for (int i = 2;i*i <= m;i++) {
if (m%i == 0) {
return 0;
}
}
return 1;
}
int main() {
cin>>n;
for (long long i = 2;i * i <= n;i++) {
if (n % i == 0 && is_prime(i)) {
mx = max(mx,n / i);
}
}
cout<<mx;
}
```
by _Justin_ @ 2023-08-10 15:36:19
@[Justin2014](/user/993236) 为啥子肯定不行呢
by hgggggg @ 2023-08-10 15:37:49
循环太多
by _Justin_ @ 2023-08-10 15:41:01
看看数据范围
by _Justin_ @ 2023-08-10 15:41:21
@[Justin2014](/user/993236)
大哥,麻烦你讲一下你的思路,谢谢
by hgggggg @ 2023-08-10 16:24:22
循环最多 $10^8$,数据范围都变 $2 \times 10^9$ 了,再 $4 \times 10^{18}$ 估计都要卡了
by _Justin_ @ 2023-08-10 16:27:41
@[Justin2014](/user/993236) 不用了。我悟了大师
by hgggggg @ 2023-08-10 16:28:07