小墨在努力!!
吗了个b的。。。。。
#include <stdio.h>
__int64 num[5843];
__int64 min(__int64 a ,__int64 b ,__int64 c ,__int64 d)
{
a = a > b ? b : a;
c = c > d ? d : c;
return a > c ? c : a;
}
void produce()
{
int i1 = 1 ,i2 = 1,i3 = 1,i4 = 1 ,i;
num[1] = 1;
for(i = 2 ;i <= 5842 ;i++)
{
num[i] = min(num[i1] * 2 ,num[i2] * 3 ,num[i3] * 5 ,num[i4] * 7);
if(num[i] == num[i1] * 2) i1++ ;
if(num[i] == num[i2] * 3) i2++ ;
if(num[i] == num[i3] * 5) i3++ ;
if(num[i] == num[i4] * 7) i4++ ;
}
}
int main()
{
int n;
produce();
while(scanf("%d",&n) && n != 0)
{
if(n % 10 == 1 && n % 100 != 11)
printf("The %dst humble number is %I64d.\n",n ,num[n]);
else if(n % 10 == 2 && n % 100 != 12)
printf("The %dnd humble number is %I64d.\n",n ,num[n]);
else if(n % 10 == 3 && n % 100 != 13)
printf("The %drd humble number is %I64d.\n",n ,num[n]);
else
printf("The %dth humble number is %I64d.\n",n ,num[n]);
}
return 0;
}

 

posted on 2012-03-26 18:23  小墨在努力!!  阅读(444)  评论(0编辑  收藏  举报