题目链接:https://vjudge.net/problem/Gym-100623H
题意:你在一张纸上打字,数字4,6,9,0可以产生一个洞,8可以产生两个洞,现在告诉你这张纸上有多少个洞,现在让你求,能产生这么多洞的最小的数字是多少
解析:数字要竟可能的小,也就是位数尽可能的小,所以多用8,如果是奇数位的话,那么首位补个4
#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5+100;
const int inf = 0x7fffffff;
int main(void)
{
freopen("holes.in","r",stdin);
freopen("holes.out","w",stdout);
int n;
scanf("%d",&n);
if(n==0)
puts("1");
else if(n==1)
puts("0");
else
{
if(n%2)
printf("4");
for(int i=0;2*i<n-1;i++)
printf("8");
puts("");
}
return 0;
}