题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2965
数7游戏,当数到有7的数字或者是7的倍数是要喊什么。
给出一个数字n,要求输出最小的连续n个符合要求的数字
思路:n的范围很小,可以直接暴力
#include<iostream>
#include<cstdio>
#include<set>
#include<string>
#include<string.h>
#include<cstring>
#include<vector>
#include<map>
#include<queue>
#include<stack>
#include<cctype>
#define mt(a) memset(a,0,sizeof a)
#define fl(a,b,c) fill(a,b,c)
#define inf 1000000000+7
using namespace std;
typedef long long ll;
int ans[2000] = { 0 };
int cheak(int a)
{
if (a % 7 == 0)return 1;
while (a)
{
if (a % 10 == 7)return 1;
a /= 10;
}
return 0;
}
int main()
{
int cot = 0,pos=inf;
memset(ans, 0, sizeof ans);
for (int i = 1; i <10000; i++)
{
if (cheak(i)){
cot++;
if (cot == 1)pos = i;
if (!ans[cot])
ans[cot] =pos ;
}
else cot = 0;
}
int T;
cin >> T;
while (T--)
{
int n;
scanf("%d", &n);
printf("%d\n",ans[n]);
}
return 0;
}