题解 | #质数因子#

质数因子

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

思路: 被除数(a)/除数(b)= 整除后的数(c)...余数(d); 当d=0;继续用c/b,直到d!=0时,b自增+1;每除尽一次,将除数b存起来。 为了减少循环,循环的时候要判断除数<被除数(被除数一直在变化,始终为上一次的余数)

import java.util.*;

public class Main {
    public static void main(String args[]){
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        List<Integer> M = new ArrayList<>();
        int a = n;
        
        for(int i = 2; i <= a;){
            if (a % i == 0){
                M.add(i);
                a = a/i;
            } else {
                i++;
            }
        }
        StringBuilder sb = new StringBuilder();
        for(Integer b : M){
            sb.append(b).append(" ");
        }
        System.out.println(sb.toString().trim());
    }
}
全部评论

相关推荐

服从性笔试吗,发这么多笔,现在还在发。
蟑螂恶霸zZ:傻 x 公司,发两次笔试,两次部门匹配挂,
投递金山WPS等公司10个岗位 >
点赞 评论 收藏
分享
点赞 评论 收藏
分享
头像
11-07 01:12
重庆大学 Java
精致的小松鼠人狠话不多:签哪了哥
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务