题意就是从0-9这10个阿拉伯数字里找圈,比如0,4,6,8,9这五个数都是有圈的,其中8有两个圈,这道题就是输入一个数n,让你输出一个含有n个圈的数,当然这个数是随机的,当时没有理解题意,纠结了半天。还有就是如果没有这个数的话就输出-1,因为题目给了范围,说输出的数要小于10的18次方,所以说当n等于36的时候你最少要输出18个8,所以大于36的数就超过了数据范围,所以判断一下就好了。


AC代码:

#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
  int n;
  scanf("%d",&n);
  if(n > 36) printf("-1\n");
  else{
    while(n > 1){
      printf("8");
      n -= 2;
    }
    if(n){
      printf("6");
    }
    printf("\n");
  }
  return 0;
}