zoukankan      html  css  js  c++  java
  • Java实现 蓝桥杯VIP 算法训练 最大质因数(暴力)

    试题 算法训练 最大质因数

    问题描述
      给出N个数字,求出有最大的最大质因数的那个数
    输入格式
      第一行:一个整数N。
      接下来的N行,每行一个整数A_i,表示给出的那N个数字。
    输出格式
      第一行:一个整数,拥有最大的最大质因数的那个数。
    样例输入
    4
    36
    38
    40
    42
    样例输出
    38
    数据规模和约定
      60%的数据满足:N<=100
      100%的数据满足:N<=2500,A_i<=20000

    PS:

    可能逻辑比较复杂,或者是我想到复杂,暴力大法(●ˇ∀ˇ●)

     
    
    import java.util.Map;
    import java.util.Scanner;
    import java.util.TreeMap;
    
    public class Main {
        public static void main(String[] args) {
            Scanner sc=new Scanner(System.in);
            int n=sc.nextInt();
            int[] add=new int[n];
            for (int i = 0; i < add.length; i++) {
                add[i]=sc.nextInt();
            }
            Map<Integer,Integer> map=new TreeMap<Integer, Integer>();
            for (int i = 0; i < add.length; i++) {
                int a=count(add[i]);
                if(map.containsKey(a)) {
                    int max=add[i]>map.get(a)?add[i]:map.get(a);
                    map.put(a,max);
                }else {
                    map.put(a,add[i]);
                }
            }
            int result=0;
            for (int i : map.values()) {
                result=i;
            }
            System.out.println(result);
    
        }
        public static int count(int n) {
            int num=0,a=0;
            int[] arr=new int[100];
            for (int i =1; i <=Math.sqrt(n); i++) {
                if(n%i==0) {
                    arr[a]=n/i;
                    a++;
                }
            }
            for (int i =a; i <2*a; i++) {
                arr[i]=n/arr[2*a-i-1];
            }
            for (int i = 0; i <2*a; i++) {
                if(prime(arr[i])) {
                    num=arr[i];
                    break;
                }
            }
            return num;
        }
        public static boolean prime(int n) {
            boolean result=true;
            for (int i =2; i <=Math.sqrt(n); i++) {
                if(n%i==0) {
                    result=false;
                }
            }
            return result;
    
        }
    }
    
    
  • 相关阅读:
    生成token和获取token
    python异常处理
    获取文件路径
    批量导出和批量安装第三方模块
    python操作从数据库中获取数据的接口
    centos中开机时如何自启动samba服务器
    MSSQL 创建自定义异常
    MSSQL 生成拼音码
    MSSQL FOR MXL PATH 运用(转载)
    MSSQL旋转和反旋转的例子
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13074585.html
Copyright © 2011-2022 走看看