一、题目链接
http://noi.openjudge.cn/ch0105/43/
二、解题思路
⑴ 根据质因数分解的唯一性,从最小质数2开始,如果n能被当前整数k整除,则n / k就是所求结果;
⑵ 设定一个int变量k,代表n较小的质因数,初始时k为2;
⑶ 在n % k != 0时,通过循环,做如下操作:
① 令k++;
⑷ 循环结束后,n / k即为n较大的质因数。
三、程序代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
int k = 2; // 较小的质因数,从2开始
/* 找n的较小的质因数 */
while (n % k != 0) {
k++;
}
System.out.print(n / k); // 输出n的较大的质因数
}
}