(完)Java基础练习题:题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

2017年8月16日17:55:16 发表评论 1,257 views

题目:将一个正整数分解质因数。例如:输入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。

 

 

  • A+
所属分类:JAVA

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: