寻找丑数
来源:互联网 发布:澳大利亚买车软件 编辑:程序博客网 时间:2024/06/04 08:14
时间限制:1S
空间限制:32768K
题目描述:
把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。习惯上我们把1当做第一个丑数。求按从小到大的顺序的第N个丑数。
输入描述:
整数N
输出描述:
第N个丑数
解题思路:预处理。(没有样例)我们设置3个表示下标的变量,分别表示乘2、3、5的,初始化为第一个元素(1)的位置。每次进行运算的时候,将3个下标对应的数分别乘于2、3、5会得到3个数(因为这样相乘保证的因子都是2、3、5),我们取出最小的,并且把最小的下标++即可(有可能3个相同)。
#include <iostream>using namespace std;const int Maxn = 10005;int Min(const int& a, const int& b){ return a>b?b:a;}void createUglyNumber(int a[Maxn]){ a[1] = 1; int count = 2; int index1 = 1, index2 = 1, index3 = 1; while(count<2000) { int min = Min(a[index1]*2, Min(a[index2]*3, a[index3]*5)); if(min==a[index1]*2) index1++; if(min==a[index2]*3) index2++; if(min==a[index3]*5) index3++; a[count++] = min; }}int main(){ int n; int a[Maxn]; createUglyNumber(a); while(cin >> n) { cout << a[n] << endl; } return 0;}
阅读全文
0 0
- 寻找丑数
- 寻找丑数--总结
- 寻找丑数。
- 寻找丑数
- 寻找丑数
- 寻找丑数
- 寻找丑数
- 寻找丑数
- 寻找丑数
- 寻找丑数
- 寻找丑数
- 寻找丑数
- 寻找丑数
- 寻找丑数
- 寻找丑数
- 寻找丑数
- 寻找丑数
- 寻找丑数
- 238. Product of Array Except Self (除本身之外的数组之积)
- HTML中input和button设置同样高度却不能等高的原因
- CSV类库:OpenCSV
- Python高级编程Linux-pdb调试
- 数据结构-链表总结
- 寻找丑数
- 关于@override报错的问题
- Linux运维学习之路(9)存储管理
- HashMap的实现原理
- java并发编程-java线程池
- NOIP实用技巧,让你的程序超乎寻常的快
- 转——老师教我做好的presentation
- TSOI2 锻炼计划 模拟
- 并行程序模拟,紫书P139UVa210