您的位置:首页 > 其它

南邮 OJ 1420 丑数

2015-08-05 15:39 295 查看


丑数

时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte

总提交 : 156 测试通过 : 49

比赛描述

丑数是指素因子都在集合{2,3,5,7}的数,如630是丑数,而22不是。

输入

输入n(<=5911)

输出

输出第n大的丑数。

样例输入

100

样例输出

450

提示

题目来源

JSOI2010

#include<stdio.h>
long long a[6000];
int main(){
int n;
a[0] = 1;
int p2,p3,p5,p7;
p2 = p3 = p5 = p7 = 0;
int i=0;
scanf("%d",&n);
n--;
while(i<n){
while(a[p2]*2<=a[i]){
p2++;
}
while(a[p3]*3<=a[i]){
p3++;
}
while(a[p5]*5<=a[i]){
p5++;
}
while(a[p7]*7<=a[i]){
p7++;
}
i++;
a[i] = a[p2]*2;
if(a[i] > a[p3]*3){
a[i] = a[p3]*3;
}
if(a[i] > a[p5]*5){
a[i] = a[p5]*5;
}
if(a[i] > a[p7]*7){
a[i] = a[p7]*7;
}
}
printf("%I64d\n",a
);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: