zoukankan      html  css  js  c++  java
  • 最大质因数

    蓝桥杯ALGO-331 最大质因数

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

    import java.util.Scanner;
    
    public class Main {
    	static int result = 0;
    	static int n = 0;
    	static int[] arr = new int[2502];
    	static int[] yin = new int[2502];
    	public static void main(String[] args) {
    		Scanner sc=new Scanner(System.in);
    	    n = sc.nextInt();
    	    for(int i=0;i<n;i++){
    	    	arr[i] = sc.nextInt();
    	    }
    	    f(arr);
    	}
    	
    	private static void f(int[] arr){
    		int temp = 0;	//存储最大的输入数
    		int tmp = 0;	//存储最大的质因数
    		for(int i=0;i<n;i++){
    			int count = 0;
    			temp = arr[i];
    			for(int j=2;j<temp;j++){
    				if(arr[i] % j==0){
    					yin[count] = j;	//j是arr[i]的一个因数
    					temp = temp/j;	//temp是arr[i]的另一个因数
    					count++;
    				}
    			}
    			if(temp != 0){	//判断一下arr[i]的另一个因数temp是否是质数
    				yin[count] = temp;
    			}
    			for(int j=0;j<count+1;j++){
    				boolean book = false;
    				for(int m=2;m<yin[j];m++){
    					if(yin[j]%m==0){
    						book = true;
    						break;
    					}
    				}
    				if(book==false && yin[j]>tmp){
    					tmp = yin[j];
    					result = arr[i];
    				}
    			}
    		}
    		System.out.println(result);
    	}
    }
  • 相关阅读:
    Rust-数据类型
    Rust-智能指针
    Rust-使用包、Crate和模块管理不断增长的项目
    Rust-Slice类型
    Rust-引用与借用
    Rust 的核心功能-所有权(ownership)
    How to fix “sudo: command not found error”
    ABC195 F
    CF1501D Two chandeliers【拓展欧几里得+二分】
    CCA的小球【容斥定理】
  • 原文地址:https://www.cnblogs.com/AIchangetheworld/p/12775472.html
Copyright © 2011-2022 走看看