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

📄 2247.txt

📁 北大ACM题目例程 详细的解答过程 程序实现 算法分析
💻 TXT
字号:


//#define debug 1
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<string.h>
#include<math.h>

#define INF 2000000000
#define NMAX 6000
int a[NMAX]={0};
int b[5]={2,3,5,7};
int n;
int k=2;
void tr(int s,int c)
{
	
	double t=(double)s*b[c];
	if(t>INF)
		return;
	a[k++]=s*b[c];
	tr(s*b[c],c);
	if(c+1>3)
		return ;
	tr(s,c+1);
	
	return ;
}
int cmp(const void *a,const void *b)
{
	return (*(int*)a)-(*(int*)b);
}
void init()
{
	a[1]=1;
	tr(1,0);
	qsort(a,k,sizeof(int),cmp);
		


}
void output()
{
	char c[4]={0};
	
	

	printf("The %d",n);
	int t=n%100;
	if(t>=10&&t<20)
		printf("th");
	else
	{
		t=n%10;
		switch(t)
		{
		case 1:printf("st");break;
		case 2:printf("nd");break;
		case 3:printf("rd");break;
		default:printf("th");break;
		}
	}
	printf(" humble number is %d.\n",a[n]);
}
int main()
{

#if _DEBUG	
	freopen("in.txt","r",stdin);
	freopen("out.txt","w",stdout);
#endif
	init();
	while(1)
	{
		scanf("%d",&n);
		if(!n)
			break;
		output();
	}
		
#if _DEBUG
	fclose(stdin);
	fclose(stdout);
#endif
	return 1;
}


⌨️ 快捷键说明

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