Python和Java编程题

Posted 三一七零二

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python和Java编程题相关的知识,希望对你有一定的参考价值。

题目:将一个正整数分解质因数。例如:输入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实现代码:

 1 # -*- coding: -utf -*-
 2 
 3 def Factorization(n):
 4     k = 2;
 5     L = []
 6     while k < n:#从小到大依次找出Number的质因数
 7         if n%k == 0:
 8             print(k)
 9             n = n / k
10             continue
11         else:
12             k = k + 1
13     for i in range(1,k):#当k=n时,判断k是否为最大的一个质因数
14         if k%i == 0:
15             break
16         if i==k-1:
17             print(k)
18 
19 if __name__ == __main__:
20     Number = 90
21     Factorization(Number)

 

Java实现代码:

 1 public class Factorization {
 2     public void NumberFactorization(int Number) {//寻找Number所有质因数的方法
 3         int k=2;
 4         while(k<Number) {
 5             if(Number%k == 0) {
 6                 Number = Number/k;
 7                 ShowPrime(k);//输出Number质因数的方法
 8                 continue;
 9             }
10             k = k + 1;
11         }
12         if(IsPrimeNumber(k)) {
13             ShowPrime(k);
14         }
15     }
16     
17     public boolean IsPrimeNumber(int k) {//判断最后的k是不是Number的最大质因数,结果返回boolean类型的值
18         for(int i=2;i<k;i++) {
19             if(k%i == 0) {
20                 return false;
21             }
22         }
23         return true;
24     }
25     
26     public void ShowPrime(int x) {
27         System.out.print(x+",");//踩坑,单引号括起来的为char字符类型,双引号括起来的才是字符串
28     }
29     
30     static public void main(String args[]) {//主方法中新建类并调用方法因式分解Number
31         int Number = 90;
32         Factorization Fa = new Factorization();
33         Fa.NumberFactorization(Number);
34     }
35 }

 

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





以上是关于Python和Java编程题的主要内容,如果未能解决你的问题,请参考以下文章

Python和Java编程题

Python和Java编程题

Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段

Spark编程题

Python元组、字典、集合基本操作 编程题目?

Python编程题,求解答