精华内容
下载资源
问答
  • 蓝桥杯 分解质因数java
    2020-01-06 22:45:30

    解题思路:先从下线开始依次判断每一个数是否为素数,若是,直接按格式输出,若不是,调用相关方法,把它因式分解。
    题目的难点在于如何判断一个数是否为素数,以及如何把一个数因式分解,并按格式输出。

    package 蓝桥杯;
    
    import java.util.Scanner;
    
    public class Main {
    	public static void main(String[] args) {
    		Scanner scanf = new Scanner(System.in);
    		//设置因数分解的上下界限
    		int a = scanf.nextInt();
    		int b = scanf.nextInt();
    		
    		//依次便利循环找到素数
    		for(;a <= b;a++) {
    			//若为素数直接输出
    			if(find(a) == 1) {
    				System.out.println(a + "=" + a);
    			}
    			//否则调用因式分解方法函数
    			else {
    				chai(a);
    			}
    		}
    	}
    	//素数寻找方法
    	static int find(int x) {
    		int y = x;
    		for(x=x-1;x>1;x--) {
    			if(y % x == 0)
    				break;
    		}
    		if(x == 1)
    			return 1;
    		else
    			return 0;
    	}
    	//因式分解方法
    	static void chai(int x) {
    		int[] num = new int[100];
    		int i = 0;
    		int k = 2;
    		int y=x;
    		while(x != 0 && x != 1) {
    			if(x % k != 0) {
    				k++;
    				continue;
    			}
    			else {
    				num[i] = k;
    				i++;
    				x=x/k;
    			}
    		}
    		System.out.print(y+"=");
    		for(int j = 0;j <= i;j++) {
    			if(j == i-1) {
    				System.out.print(num[j]);
    				break;
    			}
    			System.out.print(num[j]+"*");
    		}
    		if(x != 0 && x != 1)
    			System.out.print("*"+x+"\n");
    		else
    			System.out.print("\n");
    	}
    }
    
    更多相关内容
  • 质因数分解 问题描述 求出区间[a,b]中所有整数的质因数分解。 输入格式 输入两个整数a,b。 输出格式 每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例) 样例输入 3 10 ...
  •  求出区间[a,b]中所有整数的质因数分解。 输入格式  输入两个整数a,b。 输出格式  每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例) 样例输入 3 10 样例输出 3=3 4=22...

    问题描述
      求出区间[a,b]中所有整数的质因数分解。
    输入格式
      输入两个整数a,b。
    输出格式
      每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例)
    样例输入
    3 10
    样例输出
    3=3
    4=22
    5=5
    6=2
    3
    7=7
    8=222
    9=33
    10=2
    5
    提示
      先筛出所有素数,然后再分解。
    数据规模和约定
      2<=a<=b<=10000
     代码:
    ————————————————
    import java.util.ArrayList;
    import java.util.Scanner;

    public class Main {

    public static void main(String[] args) {
    

    Scanner sc=new Scanner(System.in);
    int a=sc.nextInt();
    int b=sc.nextInt();
    ArrayList r=new ArrayList();
    for (int i = 2; i <=b; i++) {
    int k=0;
    for (int j = 2; j <=Math.sqrt(i); j++) {
    if (i%j==0) {
    k++;
    }
    }
    if (k<2) {
    r.add(i);
    }
    if (i>=a) {
    System.out.print(i+"=");
    int m=i;
    while(m>1){
    for (int j = 0; j <r.size(); j++) {
    if (m%r.get(j)0) {
    m=m/r.get(j);
    if (m
    1) {
    System.out.print(r.get(j));
    break;
    }else{
    System.out.print(r.get(j)+"*");
    break;
    }
    }
    }
    }
    System.out.println();
    }
    }
    }
    }

    展开全文
  •  求出区间[a,b]中所有整数的质因数分解。 输入格式  输入两个整数a,b。 输出格式  每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是从小到大的)(具体可看样例) 样例输入 3 10 样例...

    资源限制

    时间限制:1.0s   内存限制:512.0MB

    问题描述

      求出区间[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.util.Scanner;
    public class Main {
        public static void main(String[] args){
            Scanner in = new Scanner(System.in);
            int[] atom = new int[14]; //max不大于10000,取最小质数2,2^14->16k,14位足矣;
            int min = in.nextInt();
            int max = in.nextInt();
            for (int i = min; i <= max; i++) {
                int len = DoIt(atom,i);
                System.out.print(i + "=");
                for (int j = 0; j < len; j++)
                    if(j != len - 1)
                        System.out.print(atom[j] + "*");
                    else
                        System.out.println(atom[j]);
            }
        }
    
        static boolean IsPrime(int num){
            if(num == 1 || num == 2)
                return true;
            boolean is = true;
            for (int i = 2; i * i <= num; i++) //注意控制时间复杂度
                if(num % i == 0) {
                    is = false;
                    break;
                }
            return is;
        }
      
        static int DoIt(int[] atom,int num){
            int len = 0;
            int prime = 2;
            while(true){
                if(!IsPrime(prime)  ||  num % prime != 0) {
                    prime++;
                    continue;
                }
                atom[len++] = prime;
                if(num / prime == 1)
                    break;
                else{
                    num /= prime;
                    prime = 2;
                }
            }
            return len;
        }
    }

    展开全文
  • JAVA蓝桥杯分解质因数

    千次阅读 2017-03-02 20:46:37
    基础练习 分解质因数 时间限制:1.0s 内存限制:512.0MB   问题描述  求出区间[a,b]中所有整数的质因数分解。 输入格式  输入两个整数a,b。 输出格式  每行输出一个数的分解,形如k=a1*a2*a3......
    基础练习 分解质因数  
    时间限制:1.0s   内存限制:512.0MB
           
    问题描述
      求出区间[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





    解题思路:先筛选出素数

    产生质因数。按顺序枚举所有数,判断是否为


    质因数。


    package 基础练习;
    
    import java.util.Scanner;
    
    public class 分解质因数2 {
    
    	public static void main(String[] args) {
    		Scanner scan = new Scanner(System.in);
    		String str = scan.nextLine();
    		String[] strs = str.split(" ");
    
    		int n = Integer.parseInt(strs[0]);
    		int m = Integer.parseInt(strs[1]);
    
    		for (int i = n; i <= m; i++) {
    			// 调用分解质因数的函数
    			fen_jie_zhi_yin_shu(i);
    
    		}
    	}
    
    	public static void fen_jie_zhi_yin_shu(int x) {
    		int sushu = 2;
    		int n = x;
    		int first = 1;
    		while (sushu <= n) {
    			if (!(x % sushu == 0)) {
    				sushu++;
    			} else {
    				x /= sushu;
    				if (first == 1) {
    					System.out.print(n + "=" + sushu);
    					first++;
    				} else {
    					System.out.print("*" + sushu);
    				}
    			}
    		}
    		System.out.println();
    	}
    }
    


    展开全文
  • 蓝桥杯 分解质因数

    2020-03-01 18:11:08
    求出区间[a,b]中所有整数的质因数分解。输入格式 输入两个整数a,b。输出格式 每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例) 样例输入 3 10 样例输出 3=3 4=22 5=5 6...
  • 问题描述 求出区间[a,b]中所有整数的质因数分解。...分解质因数也是数学题目,这个题的最好方法就是递归,递归的主要思想就是调用自己,直至到达自己想要的东西,下面是我之前写的一个关于递归的博客,可以结
  • 求出区间[a,b]中所有整数的质因数分解。 输入 输入描述:  输入两个整数a,b。 输入样例: 3 10 输出 输出描述:  每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例) 输出...
  • 方法一,利用循环,将数进行分解,直到变为1。 方法二,可以根据公式f(n) = k * f(n / k)建立递归,采用记忆化递归减少重复计算。 Java代码实现: 方法一: import java.util.Scanner; public class Main { ...
  •  求出区间[a,b]中所有整数的质因数分解。 输入格式  输入两个整数a,b。 输出格式  每行输出一个数的分解,形如k=a1a2a3…(a1&amp;amp;lt;=a2&amp;amp;lt;=a3…,k也是从小到大的)(具体可看样例) 样例...
  • 求出区间[a,b]中所有整数的质因数分解。 提示 先筛出所有素数,然后再分解。 数据规模和约定 2< =a< =b< =10000 输入 输入两个整数a,b。 输出 每行输出一个数的分解,形如k=a1a2a3…(a1< =a2< =a3…...
  • i++) { //分解质因数 Prime(i); } } public static void Prime(int i) { int num = 2; int n = i; //标志第一个值 int first = 1; while (num ) { //判断是否还可以被当前数整除 if ...
  • 蓝桥杯 基础练习 分解质因数 时间限制:1.0s 内存限制:512.0MB 问题描述  求出区间[a,b]中所有整数的质因数分解。 输入格式  输入两个整数a,b。 输出格式  每行输出一个数的分解,形如k=a1a2a3…(a1&lt;=...
  • 求出区间[a,b]中所有整数的质因数分解。 输入格式 输入两个整数a,b。 输出格式  每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是从小到大的)(具体可看样例) 样例输入 3 10 样例输出 3=3 4=2*...
  • 蓝桥杯---分解质因数

    2019-01-26 17:48:41
     求出区间[a,b]中所有整数的质因数分解。 输入格式  输入两个整数a,b。 输出格式  每行输出一个数的分解,形如k=a1*a2*a3...(a1&lt;=a2&lt;=a3...,k也是从小到大的)(具体可看样例) 样例输入 3 10 样例...
  •  求出区间[a,b]中所有整数的质因数分解。 输入格式  输入两个整数a,b。 输出格式  每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例) 样例输入 3 10 样例输出 3=3 ...
  • 基础练习 分解质因数 问题描述  求出区间[a,b]中所有整数的质因数分解。 输入格式  输入两个整数a,b。 输出格式  每行输出一个数的分解,形如k=a1*a2*a3...(a1 样例输入 3 10 ...
  • 试题 算法提高 分解质因数 问题描述  给定一个正整数n,尝试对其分解质因数 输入格式  仅一行,一个正整数,表示待分解...
  •  求出区间[a,b]中所有整数的质因数分解。 输入格式  输入两个整数a,b。 输出格式  每行输出一个数的分解,形如k=a1*a2*a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例) 样例输入 3 10 样例输出 3=3 4=...
  • 蓝桥杯练习 分解质因数 问题描述  求出区间[a,b]中所有整数的质因数分解。 输入格式  输入两个整数a,b。 输出格式  每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例) ...
  • 求出区间[a,b]中所有整数的质因数分解。 输入格式 输入两个整数a,b。 输出格式 每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例) 样例输入 3 10 样例输出 3=3 4=22 5=5 6...
  •  求出区间[a,b]中所有整数的质因数分解。 输入格式  输入两个整数a,b。 输出格式  每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是从小到大的)(具体可看样例) 样例输入 3 10 样例...
  • [蓝桥杯][基础练习VIP]分解质因数 时间限制: 1Sec 内存限制: 128MB 提交: 2802 解决: 1688 题目描述 求出区间[a,b]中所有整数的质因数分解。 提示 先筛出所有素数,然后再分解。 数据规模和约定 2< =a< =b<...
  • 试题 基础练习 分解质因数 蓝桥杯 java
  •  求出区间[a,b]中所有整数的质因数分解。 输入格式  输入两个整数a,b。 输出格式  每行输出一个数的分解,形如k=a1*a2*a3...(a1 样例输入 3 10 样例输出 3=3 4=2*2 5=5 6=2*3 7=7 8=2*2*2 9=3*3 10=2*5 ...

空空如也

空空如也

1 2 3 4 5 ... 18
收藏数 345
精华内容 138
关键字:

蓝桥杯分解质因数java

java 订阅