意外 | ||||||
| ||||||
Description | ||||||
静竹以为从此过上了幸福的日子,没想到数学的好友欧几里德心存不满总是暗中使坏!有一天,欧几里德在静竹经常与数学相见的地方放了一条毒蛇,一不小心静竹就中毒了。还有人性的是,欧几里德把解药放到了一个密码箱里,但是密码呢必须通过箱子上面的两个数来计算出,数学能够把静竹成功解救吗? | ||||||
Input | ||||||
输入数据包含两个整数x, y(2 <= x <= 1 0,000,000, 2 <= y <= 100,000,000), | ||||||
Output | ||||||
对于每组输入的x,y输出一个整数表示密码并换行 | ||||||
Sample Input | ||||||
3 15 23 45 | ||||||
Sample Output | ||||||
18 Vagaa
解题思路: p*q=gcd(p,q)*lcm(p,q)=y*x; 那p,q的范围是在x到sqrt(y*x)之间的,遍历一遍就好了。 但是,就这么水过去,感觉没什么收获。用一点数论的知识吧~ p=a*x,q=b*x;这是肯定的,都知道的。 p*q=(a*b)*x*x; p*q=y*x=(a*b)*x*x; y/x=a*b; a,b是互质的。关键就要找出a和b 对y/x分解质因子,分解质因子每个质因子都质数。我们应该分解因数。然后暴力搜索一遍
| ||||||
HRBUST - 1153 意外 HRBUST - 1153 (数论)
最新推荐文章于 2020-10-28 23:32:06 发布