@java蓝桥杯B组习题基础篇(30)第16题:质因数分解

本文介绍了一种求解区间内所有整数质因数分解的算法,通过循环判断每个数是否为质数并进行分解,适用于蓝桥杯等编程竞赛。提供了完整的Java代码示例,包括输入输出格式及数据规模限制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@java蓝桥杯B组习题基础篇(30)第16题:质因数分解

关键字:质数分解、循环
问题描述
  求出区间[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.Scanner;
public class PrimeNumber{
	public static void main(String[] args){
		Scanner s=new Scanner(System.in);
		int a=s.nextInt();
		int b=s.nextInt();
		if(2<=a&&a<=b&&b<=10000){
			for(int i=a;i<=b;i++){
				if(i>=3){
					String m="";
					int k=2;
					int j=i;
					while(j!=k){
					if(j%k==0){
						m=m+k+"*";
						j=j/k;
					}else if(j%k!=0){
						k++;
					}
					}
					m=m+k;
					System.out.println(i+"="+m);
				}else{
					System.out.println(i+"="+i);
				}
			}
		}else System.out.print("数据规模与约定:2<=a<=b<=10000");
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值