You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
571 B
23 lines
571 B
#include <bits/stdc++.h>
|
|
|
|
using namespace std;
|
|
|
|
//判断一个数是不是质数
|
|
bool isPrime(int n) {
|
|
if (n < 2) return false;
|
|
for (int i = 2; i <= n / i; i++)
|
|
if (n % i == 0) return false;
|
|
return true;
|
|
}
|
|
|
|
int main() {
|
|
int n;
|
|
cin >> n;
|
|
for (int i = 2; i <= n / i; i++) //怕溢出 i=2147383647 i*i<=n
|
|
// i*i<=n => i<= n/i 解决了溢出的问题
|
|
if (n % i == 0 && isPrime(i) && isPrime(n / i)) {
|
|
cout << n / i << endl; //大因子是 b=n/i
|
|
break;
|
|
}
|
|
return 0;
|
|
} |