#include<iostream>
long long hum[5843];
int prime[4]={2,3,5,7};
int N;
using namespace std;
int main()
{
hum[1]=1;
hum[0]=1;
int i,j,k;
for(i=2;i<=5842;i++)
{
hum[i]=3000000000;
for(j=0;j<4;j++)
{
for(k=i-1;k>=1;k--)
{
if(hum[k]*prime[j]<=hum[i-1]) break;
if(hum[k]*prime[j]<hum[i])
{
hum[i]=hum[k]*prime[j];
}
}
}
}
while(cin>>N)
{
if(N==0){break;}
if(N%10==1&&N%100!=11)
{
cout<<"The "<<N<<"st humble number is "<<hum[N]<<"."<<endl;
continue;
}
if(N%10==2&&N%100!=12)
{
cout<<"The "<<N<<"nd humble number is "<<hum[N]<<"."<<endl;
continue;
}
if(N%10==3&&N%100!=13)
{
cout<<"The "<<N<<"rd humble number is "<<hum[N]<<"."<<endl;
continue;
}
cout<<"The "<<N<<"th humble number is "<<hum[N]<<"."<<endl;
}
return 0;
}
hdu 1058 Humble Numbers
最新推荐文章于 2020-12-23 13:39:08 发布