leetcode263题 题解 翻译 C语言版 Python版
2016-02-15 12:30
435 查看
263. Ugly Number
Write a program to check whether a given number is an ugly number.
Ugly numbers are positive numbers whose prime factors only include
Note that
263.丑数
写一个程序来检查一个给定的数是不是一个丑陋的数。
丑陋的数是指那些质因子只包括2,3,5的正整数。比如说:6,8是丑数,但14不是丑数因为它有一个质因子7.
注意1比较特殊,我们把他看作丑数。
思路:给定一个数后,我们只需要将其每次除2或除3或除5,如果三个同时除不通就说明有其他质因子,只要有一个能除通就继续下一轮。注意特殊情况的单独处理。
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, 8are ugly while
14is not ugly since it includes another prime factor
7.
Note that
1is typically treated as an ugly number.
263.丑数
写一个程序来检查一个给定的数是不是一个丑陋的数。
丑陋的数是指那些质因子只包括2,3,5的正整数。比如说:6,8是丑数,但14不是丑数因为它有一个质因子7.
注意1比较特殊,我们把他看作丑数。
思路:给定一个数后,我们只需要将其每次除2或除3或除5,如果三个同时除不通就说明有其他质因子,只要有一个能除通就继续下一轮。注意特殊情况的单独处理。
bool isUgly(int num) { if (num <= 0) return false; if (num == 1) return true; while (num > 1){ int flag = 0; if (num % 2 != 0){ flag++; } else{ num /= 2; continue; } if (num % 3 != 0){ flag++; } else{ num /= 3; continue; } if (num %5 != 0){ flag++; } else { num /= 5; continue; } if (flag == 3) return false; } return true; }
class Solution(object): def isUgly(self, num): """ :type num: int :rtype: bool """ if num <= 0: return False if num == 1: return True while num > 1: flag = 0 if num % 2 != 0: flag += 1 else: num /= 2 continue if num % 3 != 0: flag += 1 else: num /= 3 continue if num % 5 != 0: flag += 1 else: num /= 5 continue if flag == 3: return False return True
相关文章推荐
- 在Java中实现类似C/C++中#ifdef...#endif预编译宏的效果
- 本科教育忽略的黄金C++<前言>
- source insight c++ namespace 无法跳转解决方法
- 算法训练 筛选号码
- C++类的常成员函数以及静态成员函数
- C++类特殊数据成员总结(常数据成员、静态数据成员、静态常数据成员)
- C/C++用QT写的五子棋源码
- C/C++——strcpy函数的 几种 实现 和 详细 解析
- c++ 文件读写(转)
- C++和java中static成员变量的不同
- 减少C++代码编译时间的方法
- C++ Vector 与STL Iterator的使用
- c#窗口调用C++DLL
- C++定义和强制转换
- 使用C++实现简单线程池
- c语言书籍
- C语言,移动鼠标获得当鼠标当前位置坐标
- c语言:输入两个整数m和n,计算需要改变m的二进制表示中的多少位才能得到n
- c语言:判断一个整数是不是2的整数次方
- 配置eclipse下的C语言开发环境