#include <iostream>
using namespace std;
int FindMin(int a, int b, int c, int d);
bool isNum(int n);
int main()
{
int a[5850];
int n = 1;
int p2 = 1, p3 = 1, p5 = 1, p7 = 1;
a[1] = 1;
while (a[n] < 2000000000)
{
a[++n] = FindMin(2 * a[p2], 3 * a[p3], 5 * a[p5], 7 * a[p7]);
if (a[n] == 2 * a[p2]) ++p2;
if (a[n] == 3 * a[p3]) ++p3;
if (a[n] == 5 * a[p5]) ++p5;
if (a[n] == 7 * a[p7]) ++p7;
}
while (cin >> n && n)
{
if (n < 0 || n > 5842) break;
cout << "The " << n;
if (n % 10 == 1 && !isNum(n))
cout << "st ";
else if (n % 10 == 2 && !isNum(n))
cout << "nd ";
else if (n % 10 == 3 && !isNum(n))
cout << "rd ";
else
cout << "th ";
cout << "humble number is " << a[n] << endl;
}
return 0;
}
int FindMin(int a, int b, int c, int d)
{
int min = a;
if (b < min) min = b;
if (c < min) min = c;
if (d < min) min = d;
return min;
}
bool isNum(int n)
{
if (n == 11 || n == 12 || n == 13)
return true;
return false;
}
zju1095
最新推荐文章于 2013-12-02 23:02:39 发布