• Java实现 蓝桥杯 算法提高 因式分解


    算法提高 8-1因式分解
    时间限制:10.0s 内存限制:256.0MB
    提交此题
    问题描述
      设计算法,用户输入合数,程序输出若个素数的乘积。例如,输入6,输出23。输入20,输出22*5。
    样例
      与上面的样例输入对应的输出。
      例:

    120=22235
    数据规模和约定
      输入数据中每一个数在int表示范围内。

    import java.util.ArrayList;
    import java.util.Scanner;
    
    
    public class 因式分解 {
    	//获取2~A之间的所有质数
        public static ArrayList<Integer> getPrimes(int A) {
            ArrayList<Integer> list = new ArrayList<Integer>();
            list.add(2);
            for(int i = 3;i <= A;i++) {
                if(judgePrime(i))
                    list.add(i);
            }
            return list;
        }
        //判断数A是否为质数,A为默认大于等于3的数
        public static boolean judgePrime(int A) {
            for(int j = 2;j <= A;j++) {
                if(A % j == 0) {
                    return false;
                }
                if(j > A / 2)
                    break;
            }
            return true;
        }
        
        public static void printResult(int A) {
            ArrayList<Integer> list = new ArrayList<Integer>();
            ArrayList<Integer> tempList = getPrimes(A);
            int len = tempList.size();
            while(A > 1) {
                for(int i = 0;i < len;i++) {
                    if(A % tempList.get(i) == 0) {
                        list.add(tempList.get(i));
                        A = A / tempList.get(i);
                        break;
                    }
                }
            }
            //输出结果
            len = list.size();
            for(int i = 0;i < len - 1;i++) 
                System.out.print(list.get(i)+"*");
            System.out.print(list.get(len - 1));
            return;
            
        }
        
        public static void main(String[] args) {
           
            Scanner in = new Scanner(System.in);
            int A = in.nextInt();
    printResult(A);
        }
    
    }
    
    
  • 相关阅读:
    xdebug安装教程
    如何查看Linux操作系统的位数
    getconf命令【一天一个命令】
    redis 数据类型详解 以及 redis适用场景场合
    Redis和Memcache对比及选择
    无交换机实现集群网络互联
    性能调优攻略
    Chrome 插件集推荐
    在 Linux 下将 PNG 和 JPG 批量互转的四种方法
    Flashback for MySQL 5.7
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13079340.html
Copyright © 2020-2023  润新知