Ugly Number(丑数)
来源:互联网 发布:痔疮手术 知乎 编辑:程序博客网 时间:2024/06/06 08:05
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的正数。例如6,8都是丑数而14则不是,因为14含有其他的质数因子7)
Note that 1 is typically treated as an ugly number.(1通常被认为是丑数)
1.个人分析
丑数要求分解因子只能由2,3,5组成,直观的做法是将n不断地对2,3,5进行整除,若结果为1则n为丑数,否则就不是。
2.个人解法
bool isUgly(int num) { if(num < 0) return false; while (num > 1) { if (num % 2 == 0){ num /= 2; } else if(num % 3 == 0){ num /= 3; } else if(num % 5 == 0){ num /= 5; }else { break; } } return num == 1;}
3.参考解法
bool isUgly2(int num) { int arr[3] = {2, 3, 5}; if (num <= 0) { return false; } for (auto i : arr) { while (num % i == 0) { num /= i; } } return num == 1;}
这种解法的原理和上面的解法是一样的。
4.个人总结
起初对该题的解法并没有什么思路,但对题中给出的几个例子进行了一通分析后就有了解决的思路,不得不说通过举例或者画图来进行观察分析是解决问题尤其是比较陌生的问题最佳方式。
PS:
- 题目的中文翻译是本人所作,如有偏差敬请指正。
- 其中的“个人分析”和“个人解法”均是本人最初的想法和做法,不一定是对的,只是作为一个对照和记录。
0 0
- Ugly Number(丑数)
- Ugly Number(丑数)
- ugly number(丑数)
- 丑数(Ugly Number)
- 丑数--Ugly Number
- 寻找丑数(Ugly Number)
- 寻找丑数(Ugly Number)
- 寻找丑数(Ugly Number)
- 寻找丑数(ugly number)
- LeetCode 263 Ugly Number(丑数)
- 寻找丑数(Ugly Number)
- [C++]Ugly Number 丑数
- Ugly Number | Leetcode 丑数
- leetcode-Ugly Number(丑数)
- 263. Ugly Number 丑数
- LeetCode OJ 之 Ugly Number (丑数)
- LeetCode OJ 之 Ugly Number II (丑数-二)
- Ugly Number(丑数)系列题 Python解法
- syc_spp2302_spp2341_cmos
- C++学习日记9——vector用法
- html 改变placeholder颜色
- FZOJ 1026: [SCOI2009]windy数(数位dp)
- Quartz的糟糕设计
- Ugly Number(丑数)
- C++ 深拷贝与浅拷贝
- 浅谈TCP/IP协议栈(九)初始TCP协议
- 八大排序--堆排序
- 上台阶
- 集合练一
- oracle命令提示符
- 【散文】一帘幽梦雨,冰冷三秋天
- Python下访问MYSQL的方法总结