华为机试—寻找丑数 && 九度OJ 1214
2015-01-08 22:51
417 查看
题目1214:丑数
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:1733
解决:771
题目描述:
把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。
习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
输入:
输入包括一个整数N(1<=N<=1500)。
输出:
可能有多组测试数据,对于每组数据,
输出第N个丑数。
样例输入:
样例输出:
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:1733
解决:771
题目描述:
把只包含因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含因子7。
习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。
输入:
输入包括一个整数N(1<=N<=1500)。
输出:
可能有多组测试数据,对于每组数据,
输出第N个丑数。
样例输入:
3
样例输出:
3
#include<iostream> #include<string.h> #include<stdio.h> int main(int argc, char *argv[]) { int a[1501]; memset(a,0,sizeof(a)); a[1]=1; a[2]=2; a[3]=3; int i=4; int max=a[3]; int max1,max2,max3; int N; while(~scanf("%d",&N)){ if(a !=0) printf("%d\n",a ); else{ for(;i<1501;++i) { for(int j=1;j<i;++j) { if(a[j]*2>max){ max1=a[j]*2; break; } } for(int j=1;j<i;++j) { if(a[j]*3>max){ max2=a[j]*3; break; } } for(int j=1;j<i;++j) { if(a[j]*5>max){ max3=a[j]*5; break; } } if(max1<max2) max=max1; else max=max2; if(max3<max) max=max3; a[i]=max; } printf("%d\n",a ); } } return 0; } /************************************************************** Problem: 1214 User: kirchhoff Language: C++ Result: Accepted Time:10 ms Memory:1520 kb ****************************************************************/
相关文章推荐
- 九度OJ 1214 寻找丑数【算法】
- 九度OJ 1214 寻找丑数【算法】
- 九度OJ-题目1214:丑数
- 华为机试—寻找丑数(由浅入深优化至20ms)
- 【九度OJ1214】|【剑指offer34】丑数
- 2014华为机试,寻找丑数。
- 2014华为机试,寻找丑数。
- 九度题目1003:A+B && 2010年浙江大学计算机及软件工程研究生机试真题
- 九度OJ 1019 简单计算器 -- 2006年浙江大学计算机及软件工程研究生机试真题
- 九度OJ 1107 搬水果 -- 哈夫曼树 2011年吉林大学计算机研究生机试真题
- 九度题目1015:还是A+B && 2006年浙江大学计算机及软件工程研究生机试真题
- 最短路径问题—九度OJ1008 (2010年浙江大学研究生机试真题)
- 华为机试练习---找出数组中的"支配者"
- 九度OJ 题目1034:寻找大富翁
- 九度OJ 1534 数组中第K小的数字 && codeforces 448D Multiplication Table
- 2014华为机试,迷宫矩阵寻找单词的存在与否
- 笔试算法题(20):寻找丑数 & 打印1到N位的所有的数
- [九度OJ]1431.Sort(寻找前m大数并排序)
- 从1到n的数中1出现的个数&&寻找丑数
- 题目1214:丑数-九度