剑指Offer打卡day42—— Acwing 62. 丑数

Posted Johnny*

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指Offer打卡day42—— Acwing 62. 丑数相关的知识,希望对你有一定的参考价值。

** 【题目描述】**
在这里插入图片描述
Acwing 62. 丑数
【思路】

既然质因子只包含2 、 3、5 那么也就是说只能被2 3 5 整除了
那只要一直除以质因子 最终结果为1的就是只包含质因子2 3 5的

/**
2 3 5
1 2 3 4     5   6   8    9      10  12 1
1 2 3 2,2   5   2,3 2   3,3     2,5
     
 **/ 
class Solution {
    public int getUglyNumber(int n) {
        
        int cnt = 0;
        int x = 1;
        for(; x <= 1000000000; x ++){
            int t = x;
            while( t % 2 == 0) t /=2;
            while( t % 3 == 0) t /=3;
            while( t % 5 == 0) t /=5;
            if( t == 1 ) cnt ++;
            if( cnt == n) break;
        }
        
        return x;
    }
}

以上是关于剑指Offer打卡day42—— Acwing 62. 丑数的主要内容,如果未能解决你的问题,请参考以下文章

剑指Offer打卡day42——AcWing 77. 翻转单词顺序

剑指Offer打卡day42—— ACWing 81. 扑克牌的顺子

剑指Offer打卡day39 —— Acwing 42. 栈的压入弹出序列

剑指Offer打卡day42——ACWing 74. 数组中唯一只出现一次的数字

剑指Offer打卡目录(Java实现)

剑指Offer打卡day43—— Acwing 86. 构建乘积数组