题解 | #质数因子#

质数因子

http://www.nowcoder.com/practice/196534628ca6490ebce2e336b47b3607

最终要的是,求质数就要用到这个while,非常实用。一个数的因子就从2开始一直往下除就可以了。

while(num%i == 0){
	System.out.print(i+ " ");
    num /=i;

这样就是把num一下一下地从2开始往下除,除干净为止。

import java.util.*;
public class Main{
public static void main(String[] args) {
    Scanner scan = new Scanner(System.in);
    long n = scan.nextLong();
    double k = Math.sqrt(n);
    
    for(int i = 2; i<k+1; i++){
        while(n%i == 0){
            System.out.print(i+" ");
            n /= i;
        }
    }
    System.out.println(n==1 ? "":n);
}
}



全部评论

相关推荐

LemontreeN:有的兄弟有的我今天一天面了五场,4个二面一个hr面
投递字节跳动等公司9个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务