题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
import java.util.Scanner; public class No3 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //这儿是要做输入验证的,不过我就略了吧! System.out.println("请输入数字"); int num= scanner.nextInt(); System.out.println("结果:"); System.out.println(num+"="+getPrimeNumberStyle(num)); } public static String getPrimeNumberStyle(int num){ int temp=0; for (int i = 2; i < num+1; i++) { if(num%i==0&&i!=num){ int n=num/i; return i+"*"+getPrimeNumberStyle(n); }temp=i; }return ""+temp; } }
这都是人家的代码,我真的看不懂他的思路额。就这么几部就完成了。而且没搞懂哪两个return。