LeetCode刷题(39)~丑数

举报
海轰Pro 发表于 2021/08/05 22:47:10 2021/08/05
【摘要】 题目描述 编写一个程序判断给定的数是否为丑数。 丑数就是只包含质因数 2, 3, 5 的正整数。 示例 1: 输入: 6 输出: true 解释: 6 = 2 × 3 123 示例 2: 输入: 8 输出: true 解释: 8 = 2 × 2 × 2 123 示例 3: 输入: 14 输出: false 解释: 14 不是丑数,因为它包含了另外一个质...

题目描述

编写一个程序判断给定的数是否为丑数。

丑数就是只包含质因数 2, 3, 5 的正整数。

示例 1:

输入: 6
输出: true
解释: 6 = 2 × 3

  
 
  • 1
  • 2
  • 3

示例 2:

输入: 8
输出: true
解释: 8 = 2 × 2 × 2

  
 
  • 1
  • 2
  • 3

示例 3:

输入: 14
输出: false 
解释: 14 不是丑数,因为它包含了另外一个质因数 7
 
  • 1
  • 2
  • 3

说明:

  • 1 是丑数。
  • 输入不会超过 32 位有符号整数的范围: [−231, 231 − 1]。

解答 By 海轰

提交代码

bool isUgly(int num) { if(num==0) return false; if(num==1) return true; while(num!=1) { if(num%2==0) { num/=2; continue; } else if(num%3==0) { num/=3; continue; } else if(num%5==0) { num/=5; continue; } else return false; } return true; }

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

运行结果
在这里插入图片描述
提交代码(优化)

bool isUgly(int num) { if(num==0) return false; if(num==1) return true; while(num%2==0) num/=2; while(num%3==0) num/=3; while(num%5==0) num/=5; return num==1; }

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

运行结果
在这里插入图片描述

题目来源

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/ugly-number

文章来源: haihong.blog.csdn.net,作者:海轰Pro,版权归原作者所有,如需转载,请联系作者。

原文链接:haihong.blog.csdn.net/article/details/107977031

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。