zoukankan      html  css  js  c++  java
  • 【试题 基础练习 分解质因数】经典素数例题

    问题描述
      求出区间[a,b]中所有整数的质因数分解。
    输入格式
      输入两个整数a,b。
    输出格式
      每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是从小到大的)(具体可看样例)
    样例输入
    3 10
    样例输出
    3=3
    4=2*2
    5=5
    6=2*3
    7=7
    8=2*2*2
    9=3*3
    10=2*5
    提示
      先筛出所有素数,然后再分解。
    数据规模和约定
      2<=a<=b<=10000
    import java.io.BufferedWriter;
    import java.io.OutputStreamWriter;
    import java.io.PrintWriter;
    import java.util.*;
    
    public class Main {
        static boolean IsPrime(int n) {
            if(n%2==0) return false;
            for(int i=3;i<Math.sqrt(n);i+=2 ) if(n%i==0) return false;
            return true;
        }
        public  static  void main(String [] args){
            Scanner sc =new Scanner(System.in);
            int n = sc.nextInt();
            int m = sc.nextInt();
            ArrayList<Integer> arr = new ArrayList<>();
            arr.add(2);
             for(int i=3;i<=m;i++)
                 if(IsPrime(i)) arr.add(i);
                 int x;
              for(int i=n;i<=m;i++)  {
                  System.out.print(i+"=");
                  x=i;
                  for(int j=0;j<=arr.size();){///j不在这里自增,为了套出多个同因子相乘如8=2*2*2
                      if(x%arr.get(j)==0){
                          x/=arr.get(j);
                          System.out.print(arr.get(j));
                          if(x!=1) System.out.print("*");
                          else break;
                      }
                      else j++;
                  }
                  System.out.println();
              }
       }
    }
    

      

    不忘初心,方得始终。只有走过弯路,才更确信当初最想要的是什么。
  • 相关阅读:
    别让删库这种事情再发生
    别让删库这种事情再发生
    oracle目录结构
    oracle 查看启动时间和运行时间
    oracle 执行计划(连接类型)
    oralce执行计划(三)
    跟踪索引是否有用
    AIX系统之启动
    oracle查看核心进程
    oracle执行计划(二)
  • 原文地址:https://www.cnblogs.com/wszhu/p/12609443.html
Copyright © 2011-2022 走看看