题目描述
已知正整数 是两个不同的质数的乘积,试求出较大的那个质数。
输入格式输入只有一行,包含一个正整数 。
输出格式输出只有一行,包含一个正整数 ,即较大的那个质数。
样例样例输入
21
样例输出
7
数据范围与提示
对于
的数据,
;
对于全部数据,
。
[2012] [NOIp 普及组]
C++题解代码
#include <bits/stdc++.h>
using namespace std;
int a;
int b;
int c;
int d;
bool fn(int x) {
int e = sqrt(x);
for (int j = 2; j <= e; j++) {
if ((x%j) == 0) {
return false;
}
}
return true;
}
// The main procedure
int main() {
cin>>a;
b = sqrt(a);
for (int i = 2; i <= b; i++) {
if ((a%i) == 0) {
c = (a/i);
if (fn(c)) {
cout<<c;
}
}
}
return 0;
}
Blockly题解代码图片