package com.test.math;
import java.util.Scanner;
/**
* 例如:输入一个12,打印出:2*2*3
* @author XXX
*
*/
public class Main {
public static void main(String args[]) {
Scanner scanner = new Scanner(System.in);
int x = scanner.nextInt();
fun(x);
}
static void fun(int x) {// 分解正数x并将质因子输出的方法
int i = 0;
int k = x;
System.out.print(x + "的质因子为:");
while (true) {
for (i = 2; i <= k; i++) {
if (k % i == 0) {
System.out.print(i);// i即为素因子,可传至数组另存
k = k / i;
break;
}
}
if (k == 1)
break;
System.out.print(",");
}
}
}
或者
package com.test.math;
public class TestZhiShu {
public static void main(String[] args) {
String s=TestZhiShu.getZhisfj(18);
System.out.println("s==================="+s);
}
public static String getZhisfj(int x){
String res = "";
int i = 0;
int k = x;
while(true){
for(i=2;i<=k;i++){
if(k%i==0){//即为素因子,可传至k数组另存
k=k/i;
res = res + i;
break;
}
}
if(k==1){
break;
}
res = res+"*";
}
return res;
}
}