给你一个整数 n ,请你判断 n 是否为 丑数 。如果是,返回 true ;否则,返回 false 。 丑数 就是只包含质因数 2、3 和/或 5 的正整数。
示例1:
输入:n = 6 输出:true 解释:6 = 2 × 3
示例2:
输入:n = 8 输出:true 解释:8 = 2 × 2 × 2
示例3:
输入:n = 14 输出:false 解释:14 不是丑数,因为它包含了另外一个质因数 7 。
示例4:
输入:n = 1 输出:true 解释:1 通常被视为丑数。
核心思想: 1、通过题目描述,丑数就是能被2,3,5这三个数除断的数(1特殊情况除外) 2、那么1除外的所有丑数都能被2,3,5整除,也就是说 丑数=(2^a)*(3^b)*(5^c) 具体实现: 1、传递过来的n先除以2,除到不能再除了(也就是没有余数) 2、再除以3,除到不能再除了 3、再除以5,除到不能再除了 4、如果最后n==1的话说明都除尽了,如果不等于1,说明没除尽。
package com.java; public class Day10_Solution { public boolean isUgly(int n) { int nums[] = {2,3,5}; if (n == 0) { return false; } for(int i=0;i<nums.length;i++) { if(n == 1) { return true; } while (n % nums[i] == 0) { n = n/nums[i]; } } return n == 1; } }