一、题目描述
[NOIP2012 普及组] 质因数分解
题目描述
已知正整数 n n n 是两个不同的质数的乘积,试求出两者中较大的那个质数。
输入格式
输入一个正整数 n n n。
输出格式
输出一个正整数 p p p,即较大的那个质数。
样例 #1
样例输入 #1
21
样例输出 #1
7
提示
1 ≤ n ≤ 2 × 1 0 9 1 \le n\le 2\times 10^9 1≤n≤2×109
NOIP 2012 普及组 第一题
二、参考代码
#include <iostream>
#include <string>
#include <algorithm>
#include <math.h>
#include <iomanip>
using namespace std;
const int maxn = 100000001;
int arr[maxn];
bool isPrime(int num)
{
if (num <= 1)
{
return false;
}
for (int i = 2; i <= sqrt(num) + 1; i++)
{
if (num % i == 0)
{
return false;
}
}
return true;
}
int main(void) {
int num;
cin >> num;
for (int i = sqrt(num); i >= 1; i--)
{
if (num % i == 0)
{
cout << num / i;
break;
}
}
}