poj_1338
来源:互联网 发布:c语言生日蛋糕图案代码 编辑:程序博客网 时间:2024/06/10 20:06
对于每一个质数2 3 5,我们都要找到对应的之前已经计算出的最小的丑数使之乘以这个质数后大于当前的丑数,然后再从这三个里取最小的那个,我们记录三个数a2,a3,a5,分别保存对应的质数计算到哪个下标了,然后更新所有质数对应的下标,使之乘积大于当前的丑数
#include <iostream>using namespace std;const int M=1501;int ans[M];int getMin(int a,int b,int c){ int rs=0; if(a>b) rs=b; else rs=a; if(rs>c) rs=c; return rs;}int main(){ int a2,a3,a5,i,tmp,n; a2=1; a3=1; a5=1; ans[1]=1; for(i=2;i<M;i++) { tmp=getMin(ans[a2]*2,ans[a3]*3,ans[a5]*5); ans[i]=tmp; if(tmp==ans[a2]*2) ++a2; if(tmp==ans[a3]*3) ++a3; if(tmp==ans[a5]*5) ++a5; // cout<<a2<<" "<<a3<<" "<<a5<<endl; } while(cin>>n) { if(0 == n) break; cout<<ans[n]<<endl; } return 0;}
0 0
- poj_1338
- 解题报告:POJ_1338 Ugly Numbers
- 测试
- OpenGL ES 三种类型修饰 uniform attribute varying
- JavaScript innerHTML的用法
- [MFC] 获取网页源代码
- 堆排序
- poj_1338
- 风雨程序路(一)
- Hibernate或者ssh三大框架中出现 XXXX is not mapped问题
- LeetCode Median of Two Sorted Arrays
- 关于Android Studio的Import Sample
- 杭电 5592 ZYB's Premutation(线段树求第k大数)
- Ubuntu下安装matlab应用程序图文教程(详细 全面)
- 网页中多个图标在一张图片上,使用css将各图标显示
- 模拟键盘效果页面