求出区间[a,b]中所有整数的质因数分解。
样例输入 3 10 样例输出 3=3 4=2*2 5=5 6=2*3 7=7 8=2*2*2 9=3*3 10=2*5
import java.util.ArrayList;
import java.util.List;
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();
int flag=0;
Object data[]=sushu(a,b);
String ans[]=new String[b+1];
for(int i=a;i<=b;i++) {
ans[i]+=i+""+"=";
int da=i;
for(int j=0;j<data.length;j++) {
while(da%(int)data[j]==0&&da!=0) {
if(flag==0) {
ans[i]+=j+"";
da/=j;
flag=1;
}else {
ans[i]+="*"+j;
da/=j;
}
}
if(da==0)break;
}
}
for(int i=a;i<=b;i++) {
System.out.println(ans[i]);
}
}
private static Object[] sushu(int a,int b) {
List list =new ArrayList();
for(int i=a;i<=b;i++) {
int j;
for(j=2;j<i;j++) {
if(i%j==0)
break;
}
if(j==i)
list.add(i);
}
Object[] data=list.toArray();
return data;
}
}
最好用代码段编辑弄一下缩进,不然就算有人想帮你,看到代码就头疼了
这里可以这么写的?
不应该是Object[] data = sushu(a,b);
String[] ans[] = new String[b+1];