码迷,mamicode.com
首页 > 编程语言 > 详细

Java重写《C经典100题》 --14

时间:2016-03-15 06:11:11      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:

【程序14】
题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
1.程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: 
(1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
(2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。
(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
2.程序源代码:

 1 import java.util.Scanner;
 2 
 3 /*本文转自博客:www.cnblogs.com/java-100
 4  【程序14】
 5  题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。
 6  程序分析:对n进行分解质因数,应然后按下述步骤完成: 
 7  (1)先找到一个最小的质数k。
 8  (2)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。
 9  (3)如果n>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n,重复执行第一步。
10  (4)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。
11  */
12 
13 public class Java14 {
14 
15     public static void main(String[] args) {
16         System.out.print("请输入一个正整数:");
17         Scanner scanner = new Scanner(System.in);
18         int number = scanner.nextInt();
19         scanner.close();
20         int num = number;
21         System.out.print(num + "=");
22         boolean a = true;
23         while (a) {
24             a = false;
25             for (int i = 2; i < Math.sqrt(number); i++) {
26                 boolean prime = true;
27                 for (int j = 2; j < i; j++) {
28                     if (i % j == 0) {
29                         prime = false;
30                         break;
31                     }
32                 }
33                 if (prime) {
34                     if (num > i) {
35                         if (num % i == 0) {
36                             System.out.print(i + "*");
37                             num /= i;
38                             i = 2;
39                             a = true;
40                             break;
41                         }
42                     } else {
43                         System.out.print(num);
44                         break;
45                     }
46                 }
47             }
48         }
49     }
50 }

 

Java重写《C经典100题》 --14

标签:

原文地址:http://www.cnblogs.com/java-100/p/5277802.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!