我觉得应该不用这么麻烦。
我就是这样做的:
```cpp
for (int i = 2; i <= sqrt(n); i ++)
{
if (n % i == 0)//如果能被整除
{
cout << n / i;//直接输出
break;//跳出循环。
}
```
详细说一下。
就是 n 是两个质数的积,那么 n 就不可能被除了1和本身的数整除,因为 n 的因数只有1、本身和两个质数。
所以就很简单了。将 i 从2开始到根号 n ,只要能整除 n ,就输出 n / i,然后跳出循环就行了。
by Wardin @ 2024-01-04 21:29:55
额,代码的一个括号不小心漏了。
by Wardin @ 2024-01-04 21:33:25