A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© DaoDao2 中级黑马   /  2016-8-28 23:00  /  646 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

分解成质因数(如435234=251*17*17*3*2,据说是华为笔试题)

3 个回复

倒序浏览
[AppleScript] 纯文本查看 复制代码
package com.itheima.demo;

import java.util.Scanner;

public class Demo2 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		System.out.println("请输入需要分解质因数的值:");
		int num = sc.nextInt();
		System.out.print(num + "=");
		getPrimeNum(num);
	}
	
	public static void getPrimeNum(int num){
		//获取所有2-num之间的值
		for (int i = 2; i < num; i++) {
			if (num % i == 0) {
				//num能被i所整除,num不为质数
				//分别求出i及num/i的质因数
				//递归求其两个因数的分解质因数
				getPrimeNum(i);
				getPrimeNum(num / i);
				//不为质数,结束循环
				return;
			}
		}
		//执行到此说明num为质数,打印输出
		//输出语句格式自己去修改了.
		System.out.print("*" + num);
	}
}
回复 使用道具 举报
思路是这样,输出语句有点问题,要返回还是直接打印数据你自己再去修改修改
回复 使用道具 举报
谢谢啦嘿嘿嘿
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马