题目:将一个正整数分解质因数。例如:输入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的值,重复执行第一步。

题目来源:http://blog.sina.com.cn/s/blog_60fafdda0100wb21.html

Python实现代码:

 # -*- coding: -utf -*-

 def Factorization(n):
k = 2;
L = []
while k < n:#从小到大依次找出Number的质因数
if n%k == 0:
print(k)
n = n / k
continue
else:
k = k + 1
for i in range(1,k):#当k=n时,判断k是否为最大的一个质因数
if k%i == 0:
break
if i==k-1:
print(k) if __name__ == '__main__':
Number = 90
Factorization(Number)

Java实现代码:

 public class Factorization {
public void NumberFactorization(int Number) {//寻找Number所有质因数的方法
int k=2;
while(k<Number) {
if(Number%k == 0) {
Number = Number/k;
ShowPrime(k);//输出Number质因数的方法
continue;
}
k = k + 1;
}
if(IsPrimeNumber(k)) {
ShowPrime(k);
}
} public boolean IsPrimeNumber(int k) {//判断最后的k是不是Number的最大质因数,结果返回boolean类型的值
for(int i=2;i<k;i++) {
if(k%i == 0) {
return false;
}
}
return true;
} public void ShowPrime(int x) {
System.out.print(x+",");//踩坑,单引号括起来的为char字符类型,双引号括起来的才是字符串
} static public void main(String args[]) {//主方法中新建类并调用方法因式分解Number
int Number = 90;
Factorization Fa = new Factorization();
Fa.NumberFactorization(Number);
}
}

Java中这个单引号和双引号的坑已经是第二次踩了,容易和Python弄混淆

最新文章

  1. Nessus的安装(Linux)
  2. S3C2440的Linux启动过程分析(一)——SC2440处理器结构
  3. java 笔试题 字符串旋转
  4. ZOJ 3860: - Find the Spy
  5. [Emacs] 常用快捷键-- 生存指南
  6. javascript splice
  7. hashTable(哈希表)的基本用法
  8. 将VIM配置成强大的IDE(三)
  9. Java设计模式(三)-修饰模式
  10. Android 使用URLConnection来post数据
  11. 解决使用Idea/Eclipse编写Hadoop程序包依赖问题
  12. c++多态性---虚函数
  13. J2EE学习从菜鸟变大鸟之六 EJB(Enterprise JavaBean)企业级Java组件
  14. Tomcat关闭失败,SEVERE: Could not contact localhost:8005. Tomcat may not be running.
  15. Django组件-中间件
  16. Python 两个星号(**)的 参数
  17. 对象拷贝:jQuery extend
  18. CSS定位之position详解
  19. 使用gitolite进行git服务器搭建
  20. Hive组件以及执行过程

热门文章

  1. innobackupex 备份 Xtrabackup 增量备份
  2. Linux 第六天
  3. python持久化
  4. MFC 多窗口通信时,使用RadioButton和Button时冲突问题
  5. centoos内核升级
  6. SVN 客户端 TortoiseSVN 的安装和使用
  7. 第十八节:详解Java抽象类和接口的区别
  8. Swift5 语言指南(八) 控制流
  9. Docker优势
  10. 学生管理系统(springMVC)