首页 技术 正文
技术 2022年11月7日
0 收藏 673 点赞 516 浏览 892 个字

题目:将一个正整数分解质因数。例如:输入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;
}}}
    //判断是否为素数java 分解质因数  基础增强
private static boolean isPrime(int num) {
for (int i = 2; i < num; i++) {
if(num % i == 0){
return false;
}
}
return true;
}
}

  

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,489
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,904
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,737
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,490
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,128
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,291