精华内容
下载资源
问答
  •  求出区间[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();
    }
    }
    }
    }

    展开全文
  • 解题思路:先从下线开始依次判断每一个数是否为素数,若是,直接按格式输出,若不是,调用相关方法,把它因式分解。 ...public class 分解质因数 { public static void main(String[] args) { ...

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

    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]中所有整数的质因数分解。 提示 先筛出所有素数,然后再分解。 数据规模和约定 2< =a< =b< =10000 输入 输入两个整数a,b。 输出 每行输出一个数的分解,形如k=a1a2a3…(a1< =a2< =a3…...

    1.题目

    题目描述
    求出区间[a,b]中所有整数的质因数分解。
    提示
    先筛出所有素数,然后再分解。
    数据规模和约定
    2< =a< =b< =10000
    输入
    输入两个整数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.思路

    来自这位大佬link.
    用短除法的思想不断的除,从2开始,不能除2,就往后面加(可以直接加成质数,原博主没有加成质数,我自己试了下,这样运行时间就能短一点)。

    3.代码

    import java.util.Scanner;
    public class BreakdownPrimeFactor {
    
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		int start = sc.nextInt();
    		int end = sc.nextInt();
    		break_down(start, end);
    	}
    	private static void break_down(int start, int end) {
    		//思路:运用短除法,不断的除
    		for(int i = start; i <= end; ++i) {
    			System.out.print(i+"=");
    			int b = i;
    			int k = 2;//从2开始除
    			while(k <= Math.sqrt(i)) {
    				if(b % k == 0 ) {
    					b = b / k;
    					if(b > 1) {
    						//说明还没除完,
    						System.out.print(k+"*");
    					}
    					else {
    						System.out.println(k);
    					}
    					
    				} else {//如果不能除2就往后面依次加
    					k= add(k);//每次都加成质数:3,5,7,11...
    				}
    			}
    			//如果跳出循环,说明b是质数或者1
    			if(b != 1)//1不能输出
    			System.out.println(b);
    			}
    		}	
    	public static int add(int k) {//加成质数的方法
    		boolean flag = true;
    		while(flag) {
    			k++;
    			if(isPrime(k)) {
    				flag = false;
    				return k;
    			}
    		}
    		return 0;	
    	}
    	public static boolean isPrime(int m) {//判断这个数是否为质数
    		for(int i = 2; i < Math.sqrt(m); i++) {
    			if(m % i == 0) {
    				return false;
    			}
    		}
    		return true;
    	}
    }
    
    展开全文
  • 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();
    	}
    }
    


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

    2020-03-26 12:28:51
    求出区间[a,b]中所有整数的质因数分解。 import java.util.Scanner; public class PrimeDecomposition { static int[] temp ; //用来存放是不是质数 是为1 不是为0 static String[] awStrings; //存放每个算过的...
  • 质因数分解 问题描述 求出区间[a,b]中所有整数的质因数分解。 输入格式 输入两个整数a,b。 输出格式 每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例) 样例输入 3 10 ...
  • 问题描述 求出区间[a,b]中所有整数的质因数分解。...分解质因数也是数学题目,这个题的最好方法就是递归,递归的主要思想就是调用自己,直至到达自己想要的东西,下面是我之前写的一个关于递归的博客,可以结
  • 基础练习 分解质因数 问题描述  求出区间[a,b]中所有整数的质因数分解。 输入格式  输入两个整数a,b。 输出格式  每行输出一个数的分解,形如k=a1*a2*a3...(a1 样例输入 3 10 ...
  •  求出区间[a,b]中所有整数的质因数分解。 输入格式  输入两个整数a,b。 输出格式  每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例) 样例输入 3 10 样例输出 3=3 4=22...
  • 蓝桥杯 基础练习VIP 分解质因数 java 题目 题目描述 求出区间[a,b]中所有整数的质因数分解。 提示 先筛出所有素数,然后再分解。 数据规模和约定 2&lt; =a&lt; =b&lt; =10000 输入 输入两个整数a,b。 ...
  • 蓝桥杯 试题 基础练习 分解质因数 java dfs暴力破解 package 基础练习; import java.util.Scanner; public class test28 { /** * @param args */ public static String dfs(int a){ for(int i=2;i<a;...
  •  求出区间[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 ...
  • 问题描述求出区间[a,b]中所有整数的质因数分解。输入格式输入两个整数a,b。输出格式每行输出一个数的分解,形如k=a1a2a3...(a1<=a2<=a3...,k也是从小到大的)(具体可看样例)样例输入3 10样例输出3=34=2*25=56...
  • [蓝桥杯][基础练习VIP]分解质因数 时间限制: 1Sec 内存限制: 128MB 提交: 2802 解决: 1688 题目描述 求出区间[a,b]中所有整数的质因数分解。 提示 先筛出所有素数,然后再分解。 数据规模和约定 2< =a< =b<...
  • i++) { //分解质因数 Prime(i); } } public static void Prime(int i) { int num = 2; int n = i; //标志第一个值 int first = 1; while (num ) { //判断是否还可以被当前数整除 if ...
  •  求出区间[a,b]中所有整数的质因数分解。 输入格式  输入两个整数a,b。 输出格式  每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是从小到大的)  例如:  样例输入 3 10 样例输出 3=3 ...
  •  求出区间[a,b]中所有整数的质因数分解。 输入格式  输入两个整数a,b。 输出格式  每行输出一个数的分解,  形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例) 样例输入 3 10 样例输出 提示...
  •  求出区间[a,b]中所有整数的质因数分解。 输入格式  输入两个整数a,b。 输出格式  每行输出一个数的分解,形如k=a1*a2*a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例) 样例输入 3 10 样例输出 3=3 4=...
  • 基础练习 分解质因数 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述  求出区间[a,b]中所有整数的质因数分解。 输入格式  输入两个整数a,b。 输出格式  每行输出一个数的分解,形如k=a1a2a3…(a1<=a2&...
  • 蓝桥杯-分解质因数

    2018-01-28 11:17:55
    * 问题描述 求出区间[a,b]中所有整数的质因数分解。 输入格式 输入两个整数a,b。 输出格式 * 每行输出一个数的分解,形如k=a1*a2*a3...(a1,k也是从小到大的)(具体可看样例) 样例输入 3 10 样例输出 3=3 * 4=2*2...
  • 问题描述求出区间[a,b]中所有整数的质因数分解。输入格式输入两个整数a,b。输出格式每行输出一个数的分解,形如k=a1*a2*a3…(a1<=a2<=a3...,k也是从小到大的)(具体可看样例)样例输入3 10样例输出3=34=2*25=...
  •  求出区间[a,b]中所有整数的质因数分解。 输入格式  输入两个整数a,b。 输出格式  每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例) 样例输入 3 10 样例输出 3=3 4=22...
  • 试题 基础练习 分解质因数 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述  求出区间[a,b]中所有整数的质因数分解。 输入格式  输入两个整数a,b。 输出格式  每行输出一个数的分解,形如k=a1a2a3…(a1<...
  • 试题 算法提高 分解质因数 问题描述  给定一个正整数n,尝试对其分解质因数 输入格式  仅一行,一个正整数,表示待分解的质因数 输出格式  仅一行,从小到大依次输出其质因数,相邻的数用空格隔开 样例输入 100 ...

空空如也

空空如也

1 2 3 4 5
收藏数 91
精华内容 36
关键字:

蓝桥杯分解质因数java

java 订阅