首页 > 其他 > 详细

A7:丑数

时间:2017-02-11 16:51:12      阅读:397      评论:0      收藏:0      [点我收藏+]

题目描述:

写一个程序来检测一个整数是不是丑数

丑数的定义是,只包含质因子 2, 3, 5 的正整数。比如 6, 8 就是丑数,但是 14 不是丑数以为他包含了质因子 7。

注意事项

可以认为 1 是一个特殊的丑数。

 
样例

给出 num = 8,返回 true
给出 num = 14,返回 false

 

 

解答:

 

 1 public class Solution {
 2     /**
 3      * @param num an integer
 4      * @return true if num is an ugly number or false
 5      */
 6   public boolean isUgly(int num) {
 7         // Write your code here
 8 
 9         if(num <= 0){
10             return false;
11         }else {
12             int tmp = isDouble(num, 2);
13             if (tmp != 1) {
14                 tmp = isDouble(tmp, 3);
15                 if (tmp != 1) {
16                     tmp = isDouble(tmp, 5);
17                     if (tmp != 1) {
18                         return false;
19                     } else {
20                         return true;
21                     }
22                 } else {
23                     return true;
24                 }
25             } else {
26                 return true;
27             }
28         }
29     }
30 
31     public static int isDouble(int num,int deb){
32 
33         int tmp = num %deb;
34 
35         if( tmp == 0 ){
36             num = num/deb;
37            return isDouble(num,deb);
38         }else {
39             return num;
40         }
41     }
42 }

 

 

 

解答:本算法时间复杂度较高,在丑数高级中,不能A过,是一个本方法。还需寻找新的算法。

 

A7:丑数

原文:http://www.cnblogs.com/tutotu/p/6389264.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!