题解 | #最大公约数#

质数因子

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

// 判断数字是否为质数,改进用根号降低时间复杂度
import java.util.*;
public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        ArrayList<Integer> arr = new ArrayList<Integer>();
        get(arr,n);
        if(arr.size() == 0)
            arr.add(n);
        for(int i = 0;i < arr.size();i++){
            System.out.print(arr.get(i)+" ");
        }
    }
    public static void get(ArrayList<Integer> arr,int n) {
        // extern condition:identiy is zhi number
        if(isNumber(n)){
            arr.add(n);
            return;
        } 
        for(int i=2;i<=Math.sqrt(n);i++){
            if(n % i == 0){
                n = n / i;
                arr.add(i);
                break;
            }
        }
        get(arr,n);
    }
    public static boolean isNumber(int n) {
        for(int i = 2;i<=Math.sqrt(n);i++){
            if(n % i == 0)
                return false;
        }
        return true;
    }
}
全部评论

相关推荐

渐好:软光栅真的写明白了吗,既然是软渲那技术栈不应该使用OpenGL,光追和bvh既不算什么高级渲染技术更不应该属于软渲的内容,git那个项目没啥用,建议把前两个项目重新组织一下语言,比如软渲染那个项目 冯着色和msaa、贴图这几项分开写,写的到位点,如果你还学过光追那就单独写出来,如果没把握考官问你答不上来就别写给自己找麻烦,在技术栈那一栏简单提一下自己学过就行,这样杂的放在一起不太严谨,个人愚见.
点赞 评论 收藏
分享
千疮百孔的象牙塔:我也在捣鼓im,你这个im好奇怪的样子,单看简历get不到点,im的消息及时性,消息可靠性,然后系统的可扩展性这几个关键问题都是怎么解决的从简历描述get不到,具体说消息怎么传,消息怎么推送,消息怎么存,消息安全怎么做的这些点感觉对应不起来
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务