leecode 解题总结:263. Ugly Number
来源:互联网 发布:时间管理 知乎 编辑:程序博客网 时间:2024/06/11 20:12
#include <iostream>#include <stdio.h>#include <vector>#include <string>using namespace std;/*问题: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.Note that 1 is typically treated as an ugly number.分析:丑数是只包含质数银子为2,3,5的。1也是丑数。判定一个 给定的数是否是丑数。最简单的方法:先将该数除以2,直到不能除以2后,如果最后变成1,说明该数是丑数再不断除以3,如果变成1,说明是丑数;否则再不断除以5,如果变成1说明是丑数,如果最后除不尽5,那么就不是质数。丑数是正整数,因此<=0,不是丑数输入:012 3 5614900901输出:falsetruetruetruetruetruefalsetruefalse关键:1 不断累除2,3,5中间不断累除某个数的过程中,只要变成1,说明就是丑数;否则累除完3个数还不为1,就不是丑数*/class Solution {public: bool isUgly(int num) {if(num <= 0){return false;}int primeArr[3] = {2,3,5};int i = 0;while(num != 1){//如果数字大于质数,并且对质数取余没有余数(可以除尽),继续做。这里等于也要处理while(num >= primeArr[i] && (0 == num % primeArr[i]) ){while(1 == num){return true;}num /= primeArr[i];}//判断是否可以处理下一个质数,如果下标超过2,但是当前数字不为1,//说明不是丑数if(i >= 2){if(1 != num){return false;}else{return true;}}else{i++;}}return true; }};void print(vector<int>& result){if(result.empty()){cout << "no result" << endl;return;}int size = result.size();for(int i = 0 ; i < size ; i++){cout << result.at(i) << " " ;}cout << endl;}void process(){ int num; Solution solution; while(cin >> num ) { bool result = solution.isUgly(num); if(result) { cout << "true" << endl; } else { cout << "false" << endl; } }}int main(int argc , char* argv[]){process();getchar();return 0;}
0 0
- leecode 解题总结:263. Ugly Number
- leecode 解题总结:264. Ugly Number II
- leecode 解题总结:313. Super Ugly Number
- leecode 解题总结:260. Single Number III
- leecode 解题总结:268. Missing Number
- [leetcode] 263. Ugly Number 解题报告
- [Leetcode] 263. Ugly Number 解题报告
- leecode 解题总结:17. Letter Combinations of a Phone Number
- leecode 解题总结:374. Guess Number Higher or Lower
- LeetCode-Ugly Number-解题报告
- 【LeetCode】Ugly Number 解题报告
- Ugly Number系列解题报告
- leecode 解题总结:46. Permutations
- leecode 解题总结:77. Combinations
- leecode 解题总结:78. Subsets
- leecode 解题总结:120. Triangle
- 263. Ugly Number && 264. Ugly Number II
- LeetCode-Ugly Number II-解题报告
- Qt 学习之路 2(49):自定义只读模型 QTableView
- 静态数据成员受private控制符的作用
- JAVA开发微信公众平台使用KindEditor编辑图文消息。
- nginx access 日志分析及配置
- JDK>JRE>JVM
- leecode 解题总结:263. Ugly Number
- tonesoft
- 并查集主要知识
- javascript-ife笔记-javascript和树
- 傻傻分不清楚super与this
- Linux中执行shell脚本的4种方法
- SpringAOP拦截Controller,Service实现日志管理(自定义注解的方式)
- 值得推荐的android开源框架
- 图论算法----并查集中的启发式合并