题目链接:http://poj.org/problem?id=1338
丑数
#include<stdio.h>
#include<string.h>
int main(){
int i,j,k,t;
int num[1510];
memset(num,0,sizeof(num));
int q2,q3,q5;
int t2,t3,t5;
q2=q3=q5=num[1]=1;
for(i=2;i<=1501;i++){
t2=num[q2]*2;
t3=num[q3]*3;
t5=num[q5]*5;
if(t2<t3&&t2<t5){
num[i]=t2;
q2++;
}
else if(t3<t2&&t3<t5){
num[i]=t3;
q3++;
}
else if(t5<t2&&t5<t3){
num[i]=t5;
q5++;
}
else if(t2==t3&&t2<t5){
num[i]=t2;
q2++;
q3++;
}
else if(t3==t5&&t3<t2){
num[i]=t3;
q3++;
q5++;
}
else if(t2==t5&&t2<t3){
num[i]=t2;
q2++;
q5++;
}
else{
num[i]=t2;
q2++;
q3++;
q5++;
}
}
int n;
while(~scanf("%d",&n),n!=0)
printf("%d\n",num[n]);
return 0;
}