zoukankan      html  css  js  c++  java
  • Leecode刷题之旅-C语言/python-263丑数

    /*
     * @lc app=leetcode.cn id=263 lang=c
     *
     * [263] 丑数
     *
     * https://leetcode-cn.com/problems/ugly-number/description/
     *
     * algorithms
     * Easy (44.82%)
     * Total Accepted:    7K
     * Total Submissions: 15.7K
     * Testcase Example:  '6'
     *
     * 编写一个程序判断给定的数是否为丑数。
     * 
     * 丑数就是只包含质因数 2, 3, 5 的正整数。
     * 
     * 示例 1:
     * 
     * 输入: 6
     * 输出: true
     * 解释: 6 = 2 × 3
     * 
     * 示例 2:
     * 
     * 输入: 8
     * 输出: true
     * 解释: 8 = 2 × 2 × 2
     * 
     * 
     * 示例 3:
     * 
     * 输入: 14
     * 输出: false 
     * 解释: 14 不是丑数,因为它包含了另外一个质因数 7。
     * 
     * 说明:
     * 
     * 
     * 1 是丑数。
     * 输入不会超过 32 位有符号整数的范围: [−2^31,  2^31 − 1]。
     * 
     * 
     */
    bool isUgly(int num) {
        if (num <= 0){
                return false;
            }
            //如果5是当前num的因子
            while (num % 5 == 0) {
                num /= 5;
            }
            //如果3是当前num的因子
            while (num % 3 == 0) {
                num /= 3;
            }
            //如果2是当前num的因子
            while (num % 2 == 0) {
                num /= 2;
            }
            return num == 1;
        }

    其实就是如果有2,3,5的因子就一直分解下去。最后如果分解到1的话那么他就是丑数,否则不是。

    ---------------------------------------------------------------------------------------------------------------------------------

    python:

    #
    # @lc app=leetcode.cn id=263 lang=python3
    #
    # [263] 丑数
    #
    # https://leetcode-cn.com/problems/ugly-number/description/
    #
    # algorithms
    # Easy (44.82%)
    # Total Accepted:    7K
    # Total Submissions: 15.7K
    # Testcase Example:  '6'
    #
    # 编写一个程序判断给定的数是否为丑数。
    # 
    # 丑数就是只包含质因数 2, 3, 5 的正整数。
    # 
    # 示例 1:
    # 
    # 输入: 6
    # 输出: true
    # 解释: 6 = 2 × 3
    # 
    # 示例 2:
    # 
    # 输入: 8
    # 输出: true
    # 解释: 8 = 2 × 2 × 2
    # 
    # 
    # 示例 3:
    # 
    # 输入: 14
    # 输出: false 
    # 解释: 14 不是丑数,因为它包含了另外一个质因数 7。
    # 
    # 说明:
    # 
    # 
    # 1 是丑数。
    # 输入不会超过 32 位有符号整数的范围: [−2^31,  2^31 − 1]。
    # 
    # 
    #
    class Solution:
        def isUgly(self, num: int) -> bool:
            for p in 2, 3, 5:
                while num % p == 0 < num:
                    num /= p
            return num == 1
  • 相关阅读:
    出现,视图必须派生自 WebViewPage 或 WebViewPage错误解决方法
    未能加载文件或程序集“Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad
    快速调试的VS设置
    WebAPI GET和POST请求的几种方(转发)
    Windows无法启动SQL server 代理服务(服务器)错误1067:进程意外终止
    LC.exe exited with code -1 报错
    Linq 合并数据并相加
    C#事务
    vs2013发布时: sgen.exe 已退出 代码为 1
    使用Jenkins部署.Net应用程序
  • 原文地址:https://www.cnblogs.com/lixiaoyao123/p/10557305.html
Copyright © 2011-2022 走看看