南郵OJ 1071数字の空洞


数字の空洞
時間制限(通常/Java):
1000 MS/3000 MS実行メモリ制限:65536 KByte総発行:245テスト合格:134
試合の説明
桁数:0,4,6,8,9には共通の特徴がある:数形に空洞が存在し、そのうち8には2つの正接する空洞がある.1つの非負の整数は複数の空洞を有し、1つの空洞の数h(0≦h≦510)を与え、これらの空洞を生成できる数を見つけるためにコンピュータプログラムを書いてください.要求数はできるだけ小さく、プリアンブルゼロがありません.
入力
1行に非負の整数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;
		}
	}
}