GESP二级 - 质因数分解 - 算法题解
GESP 二级 - 质因数分解
**时间限制:**C/C++ 1000MS,其他语言 2000MS
**内存限制:**C/C++ 256MB,其他语言 512MB
**难度:**中等
**描述**
已知正整数 n 是两个不同的质数的乘积,试求出较大的那个质数。
**输入描述**
输入只有一行,包含一个正整数 n。
对于 60% 的数据,6≤n≤1000。
对于 100% 的数据,6≤n≤2×109。
**输出描述**
输出只有一行,包含一个正整数 p,即较大的那个质数。
**用例输入 1**
21
**用例输出 1**
7
**C++ 内容:**
#include <iostream>
#include <cmath>
using namespace std;
bool isPrime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int main() {
int n;
cin >> n;
int p = 1;
for (int i = 2; i <= sqrt(n); i++) {
if (n % i == 0 && isPrime(i)) {
p = max(p, i);
}
}
cout << p << endl;
return 0;
}
原文地址: https://www.cveoy.top/t/topic/qj6T 著作权归作者所有。请勿转载和采集!