• 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);
        }
    
    }
    
    
  • 相关阅读:
    THINKPHP3.2视频教程
    PHPCMS 学习
    PHPCMS 后台学习
    phpcms 模板学习
    二叉树的创建与遍历(链式存储)
    MySQL基础~~增、删、改、简单查
    队列的基本操作(链队列)
    MySQL基础~~表结构操作
    行编辑程序
    循环链表的基本操作
  • 原文地址:https://www.cnblogs.com/a1439775520/p/13078817.html
Copyright © 2020-2023  润新知