南邮 OJ 1071 数字的空洞

数字的空洞

时间限制(普通/Java) :  1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
总提交 : 245            测试通过 : 134 

比赛描述

在个位数中:04689有一个共同的特征:数形上存在空洞,其中8有两个相切的空洞。 一个非负整数具有多个空洞,给定一个空洞数目h0 ≤ h ≤ 510),请你写一个计算机程序来找出能产生这些空洞的数,要求数应尽可能小,且无前导零。



输入

一行输入一个非负整数h,表示空洞的数目。

输出

能产生这些空洞的最小数。

 

注意:输出部分的结尾要求包含一个多余的空行。

样例输入

0
1
15
70

样例输出

1
0
48888888
88888888888888888888888888888888888

题目来源

“IBM南邮杯”个人赛2009


#include<iostream>
using namespace std;
int main(){
	int h;
	while(cin>>h){
		switch(h){
			case 0:
				cout<<1<<endl;
				break;
			case 1:
				cout<<0<<endl;
				break;
			case 2:
				cout<<8<<endl;
				break;
			default:
				if(h%2){
					cout<<4;
					--h;
				}
				while(h){
					cout<<8;
					h -= 2;
				}
				cout<<endl;
		}
	}
}





你可能感兴趣的:(ACM,南邮OJ,数字的空洞)