码迷,mamicode.com
首页 > 编程语言 > 详细

java 分解质因数 基础增强

时间:2017-07-31 12:38:11      阅读:146      评论:0      收藏:0      [点我收藏+]

标签:i++   简单   判断   util   ring   imp   ack   logs   system   

   题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。

    为了熟悉加强基础练习,搞搞经典小demo..话不多说,直接贴代码,看注释。package www.test;import java.util.Scanner;


public class Resovle {
	public static void main(String[] args) {
		/**
           简单分析: * 如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 如果n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 * */
Scanner sc = new Scanner(System.in);  //创建了键盘录入对象 System.out.println("请输入要分解的整数:"); int num = sc.nextInt(); System.out.print(num+"=");      //为了输出格式为:90=2*3*3*5。 resolve(num); sc.close();              //记得关流 }
/**
      *分解方法
      *
      */
public static void resolve(int num){ for (int i = 2; i < num; i++) { if(num % i == 0){ System.out.print(i+"*"); //调用方法,判断num/i是否为素数(质数),是素数直接输出 if(num / i >0 && isPrime(num / i)){ System.out.print(num /i +"");
                    //不是素数,还可以分解,递归调用(调用自己); }else{ resolve(num/i); } break; } } }     //判断是否为素数技术分享 private static boolean isPrime(int num) { for (int i = 2; i < num; i++) { if(num % i == 0){ return false; } } return true; } }

  

 

java 分解质因数 基础增强

标签:i++   简单   判断   util   ring   imp   ack   logs   system   

原文地址:http://www.cnblogs.com/xwy6/p/7262343.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!