zoukankan      html  css  js  c++  java
  • Problem 003

    欧拉计划----https://projecteuler.net/


    最大质因数

    13195的所有质因数为5、7、13和29。

    600851475143最大的质因数是多少?

      

    public class Problem3 {
        
        //接收该轮的质因数
        static long x;
        
        //判断是否为素数
        static boolean isPrime(long num) {
            for(int i=2;i<Math.sqrt(num);i++) {
                if(num%i==0) {
                    x=i;
                    return false;
                }
            }
            return true;
        }
        
        //计算最大质数
        static long cal(long num) {
            long max=0;
            while (!isPrime(num)) {
                if(max<x) {
                    max=x;
                }
                num/=x;
                if(isPrime(num)&&num>max) {
                    max=num;
                }
            }
            return max;
        }
        
        
        
    ////大整数处理超过long范围的数字
    //static BigInteger x=new BigInteger("0");
    //    
    //
    ////判断素数
    //    static boolean isPrime(BigInteger num) {
    //        boolean boo=true;
    //        for(int i=2;i<Math.sqrt(num.longValue())+1;i++) {
    //            if(num.longValue()%i==0) {
    //                String str=i+"";
    //                x=new BigInteger(str);
    //                if(!isPrime(new BigInteger(i+""))) {
    //                    continue;
    //                }
    //                return false;
    //            }
    //        }
    //        return boo;
    //    }
        
        
    //    计算最大质数
    //    static long cal(BigInteger num) {
    //        BigInteger max=new BigInteger("0");
    //        while (!isPrime(num)) {
    //            if(max.compareTo(x)==-1) {
    //                max=x;
    //            }
    //            num=num.divide(x);
    //            if(isPrime(num)&&(num.compareTo(max)==1)) {
    //                max=num;
    //            }
    //        }
    //        return max.longValue();
    //    }
    
        public static void main(String[] args) {
            long start = System.currentTimeMillis();
    //        System.out.println(cal(new BigInteger("600851475143")));
            System.out.println(cal(600851475143l));
            long end = System.currentTimeMillis();
            System.out.println("runtime:" + (end - start));
        }
    
    }
  • 相关阅读:
    DOM操作之获取HTML、文本和值
    DOM操作之属性和样式操作
    DOM节点的增删改查
    其他选择器
    属性过滤选择器
    Linux
    Linux
    Appium自动化(3)
    Appium自动化(2)
    Appium自动化(1)
  • 原文地址:https://www.cnblogs.com/Alice-Thinker/p/8421290.html
Copyright © 2011-2022 走看看