/**
*
*寻找某数的所有最小公因子,使得这些数本身是不能再分解的,而且这些数
*的乘积等于输入的整数。
*比如:输入6
* 得到6=2*3
* 输入60
* 得到60=2*2*3*5
*
*
*
*@Author:ChengZengcun
*@Date: 2005/12/09
**/
import java.io.DataInputStream;
import java.io.InputStream;
import java.io.IOException;
public class PrimerFinder{
public static boolean isPrimer=true;
public static void getPF(int n){
int t=(int)(n/2);
for(int i=2; i<=t; i++){
int v=(int)(n/i);
if(n==(int)(i*v)){
PrimerFinder.isPrimer=false;
System.out.print(i+"*");
PrimerFinder.getPF(v);
return;
}
}
System.out.print(n);//output the last number
}
public static void main(String args[]) throws IOException{
System.out.print("Please input the Num:");
DataInputStream in = new DataInputStream(System.in);
String inputLine = in.readLine();
int n = Integer.parseInt(inputLine);
System.out.println("/nthe num is:"+n);
System.out.print("the Result is:");
PrimerFinder.getPF(n);
if(PrimerFinder.isPrimer){
System.out.println("/n"+n+" is a Primer");
}
System.out.println("");
System.out.println("the End");
}
}
以上程序在JDK1.4.2编译通过.