• JAVA基础:一个大于2的偶数始终可以分解成多个质数相乘


    package codeCompliation;

    import java.util.Scanner;

    public class isPrime {
     
     
     /**
      * 判断一个数是否是质数
      * @param number
      * @return
      */
     public static boolean isPrime(int number){
      int num=0;
      for(int i = 1;i<=number;i++){
       if(number%i==0){
        num++;
       }
      }
      if(num==2){
       return true;
      }else
       return false;
     }
     
     public static void main(String[] args) {
      int number=1;
      int dividend=1;
      while(true){
       System.out.println("请输入一个大于2的偶数:");
       Scanner scan=new Scanner(System.in);
       number=scan.nextInt();
       if(number%2==0&&number>0){
        break;
       }else
        System.out.println("输入错误,请重新输入:");
      }
      
      
      String reverse="";
      int num=number;  //(注意点第一个for中的取值,sum)
      for(dividend=2;dividend<num;dividend++){      //循环找出被除数里面的质数
       if(isPrime(dividend)&&number%dividend==0){     //找出被除数里的除数后,再找质数相除
        num=number/dividend;         //再把这个被除数赋值给sum;
        reverse+=(dividend+"*");        //然后把这个被除数加入reverse字符串中
        for(int i=1;i<num;i++){        //再判断这个被除数以内有能被上一个被除数整除的质数
         if(isPrime(i)&&num%i==0){       //在赋值给sum;
          num=num/i;          //如果是质数,且能被上一个被除数整除,则把这个质数加入到reverse中
          reverse+=(i+"*");         
          i=1; //(让下次循环到第二个for的时候从1开始循环    
          continue;
         }
        }
        
       }
      }
      System.out.println(number+"="+reverse+num);
      
     }
    }

  • 相关阅读:
    第五章.函数
    第四章.文件操作
    第三章.数据类型
    PyYaml简单学习
    Vim编辑器基本用法
    numpy.ndarray.transpose用法理解
    Django Formsets总结
    学习,认知,思维
    Django model总结(上)
    结合pandas,sqlite3批量将csv数据导入sqlite数据库
  • 原文地址:https://www.cnblogs.com/smile-zcc/p/5559665.html
Copyright © 2020-2023  润新知