zoukankan      html  css  js  c++  java
  • 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.

    Analyse: Continuously divide the number by 2, 3, 5. If the remaining number is one, then it's a ugly number. 

    Runtime: 4ms.

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

    Runtime: 8ms.

     1 class Solution {
     2 public:
     3     bool isUgly(int num) {
     4         if(num == 0) return false;
     5         if(num == 1) return true;
     6         
     7         int arr[] = {2, 3, 5};
     8         int index = 0;
     9         while(index < 3){
    10             while(num % arr[index] == 0) num /= arr[index];
    11             index++;
    12         }
    13         
    14         if(num == 1) return true;
    15         return false;
    16     }
    17 };
  • 相关阅读:
    第四次上机作业
    第十一周作业
    Java第九次上机作业
    Java第八次上机作业
    Java第七次上机作业
    第八周作业
    Java第六次上机作业
    第七周作业
    Java第五次上机作业
    第六周作业
  • 原文地址:https://www.cnblogs.com/amazingzoe/p/4746958.html
Copyright © 2011-2022 走看看