4 【程序 4 分解质因数】

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

程序分析:对 n 进行分解质因数,应先找到一个最小的质数 k,然后按下述步骤完成:

(1)如果这个质数恰等于 n,则说明分解质因数的过程已经结束,打印出即可。

(2)如果 n<>k,但 n 能被 k 整除,则应打印出 k 的值,并用 n 除以 k 的商,作为新的正整数 n,重复执行第一 步。

(3)如果 n 不能被 k 整除,则用 k+1 作为 k 的值,重复执行第一步。

package cskaoyan;

import org.junit.Test;

public class cskaoyan4 {
@Test
public void zhiYinShu() {
java.util.Scanner in = new java.util.Scanner(System.in);
int number = in.nextInt();
int prime = 2;
in.close(); if (number < 2) {
return;
} else {
System.out.print(number + "="); while (number != prime) {
if (number % prime == 0) {
System.out.print(prime + "*");
number = number / prime;
} else {
prime = nextPrime(prime);
}
} System.out.print(number);
}
} public int nextPrime(int number) {
number = number + 1; while (true) {
if (isPrime(number)) {
return number;
} else {
number = number + 1;
}
}
} public boolean isPrime(int number) {
boolean flag = true; if (number < 2) {
flag = false;
} else if (number == 2) {
flag = true;
} else {
for (int i = 2; i <= Math.sqrt(number); i++) {
if (number % i == 0) {
flag = false;
break;
}
}
} return flag;
}
}

最新文章

  1. 链接,光标,DHTML,缩放
  2. api(接口)文档管理工具
  3. JLink and JTAG等接口简介
  4. The Basics
  5. 设置tomcat启动超时,不会自动停止
  6. 【Netty】EventLoop和线程模型
  7. 201521123002 《Java程序设计》第13周学习总结
  8. maven overlays 合并多个war
  9. 常见dos命令总结
  10. 服务器 Disk full
  11. Oracle 关键字、高级函数的使用
  12. zabbix实现自定义监控
  13. Appium系列文章(1)获取appPackage和appActivity
  14. Chrome Inspect不显示Webview页面的问题总结
  15. Ubuntu 14.03 安装jdk
  16. 基于报错的SQL注入整理
  17. sqlalchemy--表关系
  18. POJ 3580 SuperMemo (splay tree)
  19. hadoop2.x常用端口及定义方法
  20. Tarojs+redux支付宝小程序开发攻略

热门文章

  1. 牛客练习赛51 C 勾股定理 (数学,结论)
  2. websocket链接报错 ERR_CONNECTION_TIME_OUT
  3. 简单的jquery进度条插件LineProgressbar.js,myProgress.js
  4. ECMAScript 6 入门——ES6 声明变量的六种方法
  5. 引爆炸弹——DFS&amp;&amp;联通块
  6. Gson/Jackson/FastJson工具类
  7. Mysql数据库多对多关系未建新表
  8. Java对象间的关系
  9. 近期将要学习的内容(flag)
  10. DP-------bzoj2699 更新