⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2949809_ac_31ms_132k.cpp

📁 北大大牛代码 1240道题的原代码 超级权威
💻 CPP
字号:
#include <stdio.h>
#include <string>
#include <iostream>

using namespace std;

int s[6001];
int a, b, c, d;

int min(int p,int q)
{
	return p < q ? p : q;
}

string GetSuffix(int num)
{
	string str ="th";
	const static string sufs[3] ={"st", "nd", "rd"};
	int ba =num%10;
	if( ba<=3 && ba >=1 && !(num>=10 && (num/10)%10==1))
	{
	 str = sufs[ba-1];
	}	
	return str;
}

void init()
{
	int i, n;
	int t1, t2, t3, t4, ta, tb, tc, td;

	a = 2;b = 3;c = 5;d = 7;
	s[0] = 1;
	i = 1;t1 = t2 = t3 = t4 = 0;
	while(i<=5842)
	{
		ta = a*s[t1]; tb = b*s[t2];tc = c*s[t3];td = d*s[t4];
		s[i] = min(min(ta,tb),min(td,tc));
		if(s[i]==ta)
			t1++;
		if(s[i]==tb)
			t2++;
		if(s[i]==tc)
			t3++;
		if(s[i]==td)
			t4++;
		i++;
	}
	while(scanf("%d",&n)==1,n)
	{
		printf("The %d",n);
		cout<<GetSuffix(n);
		printf(" humble number is %d.\n",s[n-1]);
	}
}

int main()
{
	init();
	return 1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -