已知正整数n是两个不同的质数的乘积,试求出两者中较大的那个质数。
输入格式一个正整数n。
输出格式一个正整数p,即较大的那个质数。
输入输出样例输入 #1复制
21
输出 #1复制
7说明/提示
n <= 2*10^9
NOIP 2012 普及组 第一题
重点:注意2也是质数,要与i=i+2分开遍历一次。
代码如下:
#includeusing namespace std; int main(){ int a,b = 0; cin >> a; for (int i = 3;i < 100000000;i = i + 2){ if (a % 2 == 0){ b = a / 2; if (b % 2 != 0 || b == 2){ cout << b << endl; break; } } if (a % i == 0){ b = a / i; if (b % 2 != 0 || b == 2){ cout << b << endl; break; } } } return 0; }


![用C++写P1075 [NOIP2012 普及组] 质因数分解 用C++写P1075 [NOIP2012 普及组] 质因数分解](http://www.mshxw.com/aiimages/31/458245.png)
