900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > python输入一个整数 输出该整数的所有素数因子_一个正整数的所有质数因子

python输入一个整数 输出该整数的所有素数因子_一个正整数的所有质数因子

时间:2023-06-01 15:45:35

相关推荐

python输入一个整数 输出该整数的所有素数因子_一个正整数的所有质数因子

质数(素数):公因子只有两个值,一个是1,一个是本身这个数。

一个正整数的所有质数因子是什么意思呢?

举个例子:

90 = 2 * 3 * 3 * 5;

20 = 2 * 2 *5;

36 = 2 * 2 * 3 * 3;

9 = 3 * 3;

所以我们要的做的是,输入一个数字,输出包括重复的所有质数因子;

算法步骤:

1、输入的整数n,对最小的一个质数i=2求余;

2、如果得到余数为0,重复执行1;

3、如果得到的商不为0,i++;执行1,2;

4、终止条件为n/=i == i,也就是n除以质数后的值等i这个质因子;

import java.util.Scanner;

public class Main {

public static void main(String[] args){

Scanner sc = new Scanner(System.in);

long num = sc.nextLong();

long k = (long)Math.sqrt(num);// 优化,使得for循环提早结束.

for (long i = 2; i <= k;i++) {

while(num != i) {

if (num % i == 0) {

System.out.print(i + " ");

num =num / i;

} else {

break;

}

}

}

System.out.print(num);

}

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。