为什么要写这么复杂呢qwq
已知$n$为两个质数的乘积,我们只需要从0枚举到$\sqrt[]{n}$只要$i$能整除$n$就除以$i$得到的就是最大的质数$p$啊...
```cpp
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
for(int i = 2; i <= sqrt(n); i++){
if(n % i == 0){
cout << n / i << endl;
break;
}
}
return 0;
}
```
**本蒟蒻很菜,求大佬轻喷**
by IeoA @ 2023-07-18 10:26:28
@[IeoA](/user/1031647) 有个问题就是题目说n为两个质数乘积但是没说只为两个质数乘积,也可能为合数的乘积……
by Yemengying @ 2023-07-19 13:39:51
@[Yemengying](/user/1028452)
## 已知正整数 $n$ 是两个不同的质数的乘积
但是题目已经说了$n$为两个质数的乘积,他就只能为两个质数相乘啊...,为两个质数的乘积则只有四个因数除去$1$和它本身,只有两个质数,不可能会有合数因数啊...
by IeoA @ 2023-07-19 16:17:39
感谢各位大佬相助
by _HJS_ @ 2023-07-20 19:40:25
@IeoA也就是说这道题的最优解是将这一个数的最小质数值求出来后,再用原数去除以这个数即可是吗?
by _HJS_ @ 2023-07-20 19:48:34
已关注,求互关
by _HJS_ @ 2023-07-20 19:50:00
本人脑瘫,想不到正解,就想着暴力
by _HJS_ @ 2023-07-20 19:52:50
@[_HJS_](/user/918770)
en
by IeoA @ 2023-07-22 18:37:06
谢谢
by _HJS_ @ 2023-07-22 19:01:45
@[IeoA](/user/1031647) 这里枚举出的i不是可能是合数吗,为什么可以这样写
by shr123 @ 2023-07-23 13:54:41