题目描述
已知正整数 𝑛n 是两个不同的质数的乘积,试求出两者中较大的那个质数。
输入格式
输入一个正整数 𝑛n。
输出格式
输出一个正整数 𝑝p,即较大的那个质数。
输入输出样例
输入 #1复制
21
输出 #1复制
7
说明/提示
1≤𝑛≤2×1091≤n≤2×109
NOIP 2012 普及组 第一题
代码:
#include<iostream>
#include<cmath>
using namespace std;
bool isPrime(int x) {
bool flag;
for (int i = 2; i < sqrt(x); i++) {
if (x % i == 0) {
return flag = false;
}
}
return true;
}
int main() {
int n; cin >> n;
int num;
num = sqrt(n);
for (int i = 2; i <= num; i++) {
if (n % i == 0 and isPrime(i) == true) {
cout << n / i << endl;
break;
}
}
return 0;
}