Write a program to check whether a given number was an ugly number.
Ugly numbers is positive numbers whose prime factors only include2, 3, 5
. For example,6, 8
Is ugly while14
is not ugly since it includes another prime factor7
.
Note that's 1
typically treated as an ugly number.
Title: Write a program to determine whether a given number is an "ugly number" ugly number is a positive integer containing only the mass factor 2, 3, 5. For example, 6, 8 is an ugly number and 14 is not, because it contains an extra mass factor of 7, note that the number 1 is also considered ugly number. How to solve the problem: according to the definition of ugliness, we divide the given number by 2, 3, 5, until it is not divisible, that is, the remainder of 2, 3, 5 ceases to be 0 o'clock. At this point, if you get 1, it means that all factors are 2 or 3 or 5, if not 1, it is not an ugly number. Class Solution {public: bool isugly (int num) { if (num<=0) return false; while (num%2==0) NUM=NUM/2; while (num%3==0) NUM=NUM/3; while (num%5==0) NUM=NUM/5; return num==1;} ;
Leetcode 263:ugly Number