题意就是从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;
}