Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 18406 Accepted Submission(s): 8010
#include <iostream>
using namespace std;
int min(int a,int b,int c,int d)
{
int t=a;
if (b<a)
a=b;
if(c<a)
a=c;
if (d<a)
a=d;
return a;
}
int main()
{
int s2,m,s3,s5,s7,n,a[6000];
a[1]=1;
s2=s3=s5=s7=1;
m=1;
while (a[m]<=2000000000)
{
m++;
a[m]=min(2*a[s2],3*a[s3],5*a[s5],7*a[s7]);
if (a[m]==2*a[s2])s2++;
if (a[m]==5*a[s5])s5++;
if (a[m]==3*a[s3])s3++;
if (a[m]==7*a[s7])s7++;
}
while (cin>>n)
{
if (n==0)
break;
cout <<"The "<<n;
int t=n%10;
int tt=n%100;
if (t==1&&tt!=11)
cout <<"st ";
else if (t==2&&tt!=12)
cout <<"nd ";
else if (t==3&&tt!=13)
cout <<"rd ";
else
cout <<"th ";
cout <<"humble number is "<<a[n]<<"."<<endl;
}
return 0;
}
原文:http://www.cnblogs.com/arno-my-boke/p/4240247.html