分解质因数
Time Limit: 1 Sec
Memory Limit: 512 MB
Submit: 34
Solved: 10
[
Submit][
Status][
Web Board]
Description
求出区间[a,b]中所有整数的质因数分解。
Input
输入两个整数a,b。
Output
每行输出一个数的分解,形如k=a1*a2*a3...(a1< =a2< =a3...,k也是从小到大的)(具体可看样例)
Sample Input
3 10
Sample Output
3=34=2*25=56=2*37=78=2*2*29=3*310=2*5
HINT
请关注微信公众号onlinejudge
提示
先筛出所有素数,然后再分解。
数据规模和约定
2< =a< =b< =10000
Source
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class Main{
static String str[]=new String[202];
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n=in.nextInt();
int m=in.nextInt();
for(int i=n;i<=m;i++){
System.out.print(i+"=");
trans(i);
}
}
private static void trans(int n) {
// TODO Auto-generated method stub
int a=isprime(n);
if(a==-1){
System.out.println(n);
return;
}
System.out.print(a+"*");
trans(n/a);
}
private static int isprime(int n) {
// TODO Auto-generated method stub
int k=(int)Math.sqrt(n);
for(int i=2;i<=k;i++){
if(n%i==0){
return i;
}
}
return -1;
}
}