-
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"); } }
更多相关内容 -
【蓝桥杯】质因数分解java题解
2020-12-23 01:57:26质因数分解 问题描述 求出区间[a,b]中所有整数的质因数分解。 输入格式 输入两个整数a,b。 输出格式 每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例) 样例输入 3 10 ... -
蓝桥杯 分解质因数 Java实现
2020-07-08 13:25:56求出区间[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=23
7=7
8=222
9=33
10=25
提示
先筛出所有素数,然后再分解。
数据规模和约定
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 (m1) {
System.out.print(r.get(j));
break;
}else{
System.out.print(r.get(j)+"*");
break;
}
}
}
}
System.out.println();
}
}
}
} -
蓝桥杯 分解质因数JAVA通过
2022-03-20 18:04:39求出区间[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... -
蓝桥杯——分解质因数(java)
2020-07-17 22:10:39问题描述 求出区间[a,b]中所有整数的质因数分解。...分解质因数也是数学题目,这个题的最好方法就是递归,递归的主要思想就是调用自己,直至到达自己想要的东西,下面是我之前写的一个关于递归的博客,可以结 -
Java 蓝桥杯 分解质因数
2021-11-28 12:11:59求出区间[a,b]中所有整数的质因数分解。 输入 输入描述: 输入两个整数a,b。 输入样例: 3 10 输出 输出描述: 每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例) 输出... -
【蓝桥杯】[基础练习VIP]分解质因数(Java实现)
2019-03-06 21:44:35方法一,利用循环,将数进行分解,直到变为1。 方法二,可以根据公式f(n) = k * f(n / k)建立递归,采用记忆化递归减少重复计算。 Java代码实现: 方法一: import java.util.Scanner; public class Main { ... -
分解质因数 蓝桥杯 java语言
2019-02-26 22:26:45求出区间[a,b]中所有整数的质因数分解。 输入格式 输入两个整数a,b。 输出格式 每行输出一个数的分解,形如k=a1a2a3…(a1&amp;lt;=a2&amp;lt;=a3…,k也是从小到大的)(具体可看样例) 样例... -
蓝桥杯 分解质因数(Java)
2021-02-28 17:02:15求出区间[a,b]中所有整数的质因数分解。 提示 先筛出所有素数,然后再分解。 数据规模和约定 2< =a< =b< =10000 输入 输入两个整数a,b。 输出 每行输出一个数的分解,形如k=a1a2a3…(a1< =a2< =a3…... -
【蓝桥杯】分解质因数(Java实现)
2020-04-07 20:32:34i++) { //分解质因数 Prime(i); } } public static void Prime(int i) { int num = 2; int n = i; //标志第一个值 int first = 1; while (num ) { //判断是否还可以被当前数整除 if ... -
蓝桥杯 基础练习 分解质因数
2019-03-15 14:56:11蓝桥杯 基础练习 分解质因数 时间限制:1.0s 内存限制:512.0MB 问题描述 求出区间[a,b]中所有整数的质因数分解。 输入格式 输入两个整数a,b。 输出格式 每行输出一个数的分解,形如k=a1a2a3…(a1<=... -
蓝桥杯 分解质因数+java语言+递归方法
2019-03-23 17:10:51求出区间[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<=a2<=a3...,k也是从小到大的)(具体可看样例) 样例输入 3 10 样例... -
蓝桥杯 基础练习 分解质因数 JAVA
2021-09-05 15:30:35求出区间[a,b]中所有整数的质因数分解。 输入格式 输入两个整数a,b。 输出格式 每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例) 样例输入 3 10 样例输出 3=3 ... -
蓝桥杯 基础练习 分解质因数 java实现
2017-03-21 00:08:27基础练习 分解质因数 问题描述 求出区间[a,b]中所有整数的质因数分解。 输入格式 输入两个整数a,b。 输出格式 每行输出一个数的分解,形如k=a1*a2*a3...(a1 样例输入 3 10 ... -
Java实现 蓝桥杯 算法提高 分解质因数(暴力)
2020-04-29 11:51:00试题 算法提高 分解质因数 问题描述 给定一个正整数n,尝试对其分解质因数 输入格式 仅一行,一个正整数,表示待分解... -
[蓝桥杯]基础练习 分解质因数Java解法
2019-07-29 09:49:37求出区间[a,b]中所有整数的质因数分解。 输入格式 输入两个整数a,b。 输出格式 每行输出一个数的分解,形如k=a1*a2*a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例) 样例输入 3 10 样例输出 3=3 4=... -
蓝桥杯练习 分解质因数
2022-05-04 20:09:35蓝桥杯练习 分解质因数 问题描述 求出区间[a,b]中所有整数的质因数分解。 输入格式 输入两个整数a,b。 输出格式 每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例) ... -
蓝桥杯——分解质因数
2020-03-10 16:28:19求出区间[a,b]中所有整数的质因数分解。 输入格式 输入两个整数a,b。 输出格式 每行输出一个数的分解,形如k=a1a2a3…(a1<=a2<=a3…,k也是从小到大的)(具体可看样例) 样例输入 3 10 样例输出 3=3 4=22 5=5 6... -
试题 算法训练 分解质因数 java 题解 605
2021-10-31 14:18:35求出区间[a,b]中所有整数的质因数分解。 输入格式 输入两个整数a,b。 输出格式 每行输出一个数的分解,形如k=a1*a2*a3...(a1<=a2<=a3...,k也是从小到大的)(具体可看样例) 样例输入 3 10 样例... -
java:蓝桥杯练习 分解质因数
2021-03-11 20:20:05[蓝桥杯][基础练习VIP]分解质因数 时间限制: 1Sec 内存限制: 128MB 提交: 2802 解决: 1688 题目描述 求出区间[a,b]中所有整数的质因数分解。 提示 先筛出所有素数,然后再分解。 数据规模和约定 2< =a< =b<... -
试题 基础练习 分解质因数 蓝桥杯 java
2022-03-19 10:49:54试题 基础练习 分解质因数 蓝桥杯 java -
蓝桥杯 练习系统 分解质因数 Java
2015-05-21 17:27:46求出区间[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 ...