263. 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是特殊的丑陋数。思路是对这三个数循环取余再判断。
1 class Solution { 2 public: 3 bool isUgly(int num) { 4 if(num<=0){ 5 return false; 6 } 7 if(num==1){ 8 return true; 9 } 10 while(num%2==0){ 11 num=num/2; 12 } 13 while(num%3==0){ 14 num=num/3; 15 } 16 while(num%5==0){ 17 num=num/5; 18 } 19 if(num==1){ 20 return true; 21 } 22 else{ 23 return false; 24 } 25 } 26 };