#zSybttg060202. 1620:质因数分解
1620:质因数分解
1620:质因数分解
题目描述
已知正整数 是两个不同的质数的乘积,试求出较大的那个质数。
输入格式
输入只有一行,包含一个正整数 。
输出格式
输出只有一行,包含一个正整数 ,即较大的那个质数。
样例
样例输入 #1
21
样例输出 #1
7
样例解释 #1
,较大的质数是 。
数据范围
- 对于 的数据,;
- 对于全部数据,。
时空限制
- 时间限制:1000 ms
- 内存限制:524288 KB
注意:由于 是两个不同质数的乘积,所以 的因数只有 、较小的质数、较大的质数和它本身。我们只需要找到 的一个大于 且小于 的因数,那么另一个因数就是 除以这个因数。较大的那个就是答案。
因为 不超过 ,我们可以从 开始枚举到 (因为如果 是合数,必有一个因数不大于 )。由于 是两个质数的乘积,所以枚举到的第一个因数一定是较小的那个质数(因为质数从小到大枚举)。时间复杂度 ,在 时,,可以接受。
注意:题目保证 是两个不同质数的乘积,所以不需要判断枚举到的数是否为质数(因为 只有两个质因数,且它们都是质数)。直接找到第一个能整除 的数 ,则较大的质数为 。