import java.io.*;
import java.math.*;
import java.util.*;
public class Main{
public static void main(String[] args){
BigInteger n;
Scanner cin = new Scanner(new BufferedInputStream(System.in));
BigInteger zero = new BigInteger("0");
while(cin.hasNextBigInteger()){
n = cin.nextBigInteger();
if(n.compareTo(BigInteger.valueOf(-1))==0)break;
if(n.compareTo(BigInteger.TEN)==-1){
System.out.println(n.add(BigInteger.valueOf(10)));
}
else{
boolean flag = true;
int i;
int ans[] = new int[1000];
int cnt=0;
BigInteger tmp;
while((n.compareTo(BigInteger.ONE))!=0){
for(i=9;i>=2;i--){
if( (n.mod(BigInteger.valueOf(i))).compareTo(zero)==0 ){
ans[cnt++] = i;
n = n.divide(BigInteger.valueOf(i));
break;
}
}
if(i==1){flag=false;break;}
}
if(!flag){
System.out.print("There is no such number.");
}
else{
Arrays.sort(ans,0,cnt);
for(i=0;i<cnt;i++)
System.out.print(ans[i]);
}
System.out.print("\n");
}
}
}
}
本文介绍了一个使用Java实现的大数处理程序,该程序能够处理输入的大于10的整数进行质因数分解,并输出分解后的质因数。对于小于等于10的数,则直接加10输出。此外,程序还提供了对输入-1作为结束标志的处理。
812

被折叠的 条评论
为什么被折叠?



