题目描述
LZY因为上次出题太难,深感愧疚,这次出了道简单题,弥补一下各位。
输入一个n,求一个n位非负数,这个n位数的规则如下;
1.能被3整除;
2.LZY不喜欢2,3,4,6,9这几个数字;
3.LZY喜欢偶数;
4.必须是满足这些条件的最大的n位数。
输入
题目由多组测试样例组成。每组测试样例第一行输入一个正整数n (1<=n<=100000)。
输出
输出满足条件的n位数字。
样例输入 Copy
2
样例输出 Copy
78
解析 我刚刚开始是想的用回溯去写这个题目 之后看见n的值在大也放不下这么多,然后就输出用回溯写的前几个答案找规律;先输出n/3 的 888 之后在判断 n%31的话就输出一个0,n%32的话就输出一个78
#include<bits/stdc++.h>
using namespace std;
int main(){
// int n;0 1 2 3 4 5 6 7 8 9
//
//0
//78
//888
//8880
//88878
//888888
//8888880
//88888878
//888888888
//
int n;
while(~scanf("%d",&n)){
for(int i=1;i<=n/3;i++){
cout<<"888";
}
if(n%3==1) cout<<"0";
if(n%3==2) cout<<"78";
printf("\n");
}
return 0;
}