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

java新手编程题目之我解

时间:2016-01-16 07:43:07      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:整数的素因子分解

题目:通过键盘输入一个整数,并将其用素因子乘积的形式输出,例如输入整数15,则输出“15=3*5”.

import java.util.Scanner;

public class Exercise{
   public static void main(String [] args){
      Scanner sc=new Scanner(System.in);
      System.out.print("请输入您的整数:");
      int num=sc.nextInt();
      int i;
      int j;
      int k;
      //先判断输入的整数是否为素数
      for(i=2;i*i<=num;i++){
         if(num%i!=0);  
         else break; 
      }
      if(i*i>num){
         System.out.print(num+"是一个素数!");  //num是素数,则直接输出
      }
      //若num不是素数,则进行因式分解
      else{
          System.out.print(num+"= ");
          for(j=2;j*j<=num;j++){    //对num的所有可能的因数的遍历
             for(k=1;k<60;k++){     //对num的因数j出现的次数的遍历
                if(num%j==0){
                   System.out.print(j+" * ");
                   num/=j;
                   //判断新的num是否为素数
                   int m;
                   for(m=2;m*m<=num;m++){
                       if(num%m!=0);  
                       else break; 
                   }
                   if(m*m>num){
                      System.out.print(num);
                      return;
                   }      
                }  
             }
          }
      }
   } 
}


本文出自 “11085209” 博客,请务必保留此出处http://11095209.blog.51cto.com/11085209/1735466

java新手编程题目之我解

标签:整数的素因子分解

原文地址:http://11095209.blog.51cto.com/11085209/1735466

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