Hi!大家好!I'm#张亿,今天来讲C++大沥2019年真题------数字圈
题目描述
当我们写数字时会发现有些数字有封闭区域,有的数字没有封闭区域。
数字 0 有一个封闭区域,数字 1、2、 3 都没有封闭区域,数字 4 有一个封闭区域,数字 5 没有封闭区域,数字 6 有一个封闭区域,数字 7 没有 封闭区域,数字 8 有两个封闭区域,数字 9 有一个封闭区域。
现在你要构造一个最小的非负整数,使得它的各位数字的封闭区域的数量加起来的总和恰好等于 K。
输入格式
一个整数 K。 1 <= K <= 2500
输出格式
满足题意的最小的非负整数。
样例
输入数据 1
40
输出数据 1
88888888888888888888
输入数据 2
1
输出数据 2
0
输入数据 3
2
输出数据 3
8
cpp
#include<bits/stdc++.h>
using namespace std;
int n;
int main(){
cin>>n;
if(n==1){
cout<<"0";
}else if(n%2==1){
cout<<"4";
for(int i=1;i<=n/2;i++)cout<<"8";
}
else for(int i=1;i<=n/2;i++)cout<<"8";
return 0;
}