@target 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
思路:
這里丑數一定是由2,3,5因子組成,那么逐一嘗試對2,3,5取余,若余數為0,則含有某一因子。若均不含有,那一定不是丑數。
public boolean isUgly(int num) { if(num <= 0){ return false; } int num2 = num % 2; int num3 = num % 3; int num5 = num % 5; while(num2 == 0||num3 == 0||num5 == 0){ if(num2 == 0){ num = num / 2; } else if(num3 == 0){ num = num / 3; } else { num = num / 5; } num2 = num % 2; num3 = num % 3; num5 = num % 5; } return num == 1; }
新聞熱點
疑難解答