您的位置:首页 > 其它

zoj 1095 丑数<借鉴别人的想法>

2014-04-06 12:48 393 查看
//先为2 3 5 7标记,再从标记点出发找因数 只有2 3 5 7 的数比大小

#include<stdio.h>

#include<math.h>

int num[5844];

int min(int a,int b)

{
if(a>b)
return b;
else 
return a;

}

int main()

{
int n,i,t,shi,ge;
int er,san,wu,qi;
i=num[1]=1;
er=san=wu=qi=1;
while(i<=5842)
{
i++;
num[i]=min(min(3*num[san],2*num[er]),min(5*num[wu],7*num[qi]));
if(num[i]==2*num[er])
er++;
if(num[i]==3*num[san])
san++;
if(num[i]==5*num[wu])
wu++;
if(num[i]==7*num[qi])
qi++;
}
while(scanf("%d",&n)&&n!=0)
{
shi=n%100/10;
ge=n%10;
if(shi==1)
printf("The %dth humble number is ",n);
else if(ge==1)
printf("The %dst humble number is ",n);
else if(ge==2)
printf("The %dnd humble number is ",n);
else if(ge==3)
printf("The %drd humble number is ",n);
else
printf("The %dth humble number is ",n);
printf("%d.\n",num
);
}
return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  zoj math.h