[NOIP2012 普及组] 质因数分解
[NOIP2012 普及组] 质因数分解
题目描述
已知正整数 $n$ 是两个不同的质数的乘积,试求出两者中较大的那个质数。
输入格式
输入一个正整数 $n$。
输出格式
输出一个正整数 $p$,即较大的那个质数。
样例 #1
样例输入 #1
1 | 21 |
样例输出 #1
1 | 7 |
提示
$1 \le n\le 2\times 10^9$
NOIP 2012 普及组 第一题
题解
1 | import math |
题解解释
这道题要求解一个正整数 $n$,该整数是两个不同质数的乘积。你需要找出这两个质数中较大的那个,并输出。
解题思路:
- 首先导入math库。
- 通过循环,从 $i=2$ 开始逐步增加 $i$ 的值,直到 $i$ 大于等于 $n$ 的平方根。
- 在循环中,检查是否 $n$ 能被 $i$ 整除,如果是,则说明找到了一个质因数,即 $i$。
- 输出 $n$ 除以 $i$ 的结果,即较大的那个质数。
在给定的代码中,如果输入是21,那么循环会找到2是21的一个因数,然后输出21除以2的结果,即7。因此,输出为7,是较大的那个质数。
知识点
找质因数的时候,可以用平方根来提高查找速率
- 标题: [NOIP2012 普及组] 质因数分解
- 作者: W1ndys
- 创建于 : 2024-01-31 21:16:04
- 更新于 : 2025-01-11 18:09:36
- 链接: https://blog.w1ndys.top/posts/98088128.html
- 版权声明: 版权所有 © W1ndys,禁止转载。
评论