zoukankan      html  css  js  c++  java
  • LeetCode OJ:Ugly Number(丑数)

    Write a program to check whether a given number is an ugly number.

    Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. For example, 6, 8 are ugly while 14 is not ugly since it includes another prime factor 7.

    Note that 1 is typically treated as an ugly number.

    丑数的计算,分别去除数字中的2,3,5部分,如果数字被整除了那么就是丑数,否则不是,下见代码:

     1 class Solution {
     2 public:
     3     bool isUgly(int num) {
     4         if(num == 0)
     5             return false;
     6         while(num % 2 == 0) num /= 2;//exclude 2 factor
     7         while(num % 3 == 0) num /= 3;//exclude 3 factor
     8         while(num % 5 == 0) num /= 5;//exclude 5 factor
     9         return (num == 1);//is Ugly
    10     }
    11 };

     java版本如下所示,方法相同:

    public class Solution {
        public boolean isUgly(int num) {
            if(num == 0) return false;     
            while(num%5 == 0) num/=5;
            while(num%3 == 0) num/=3;
            while(num%2 == 0) num/=2;
            return num == 1;
        }
    }
  • 相关阅读:
    三角形的个数
    Nightmare(搜索)
    Prime Ring Problem(搜索)
    Safecracker(搜索)
    丑数
    八皇后问题(回溯法)
    Dijkstra
    floyd详解
    继续畅通工程(kruskal prim)
    畅通工程
  • 原文地址:https://www.cnblogs.com/-wang-cheng/p/4858360.html
Copyright © 2011-2022 走看看