问题标题: 酷町堂:7076 逢七过

0
0
已解决
胡景波
胡景波
中级光能
中级光能

 

7076   逢七过

经验值:800 时间限制:1000毫秒

蜀山区2021年信息学竞赛试题

不许抄袭,一旦发现,直接清空经验!

题目描述 Description

国庆期间,小A和几个朋友**一个游戏:逢七过。从任意一个数字开始报数,当你要报的数字包含7 或者是7的倍数时都要说:过。为了更好地完成游戏,小A 在纸上按顺序写下了所有大于0 的逢7 过的整数,她想考考你,在这些数字中第k个数是多少?

输入描述 Input Description

第一行一个整数t,表示数据组数。接下来的t 行,每行一个整数k。

输出描述 Output Description

一共t 行,第i 行输出第i 组数据的答案。

样例输入 Sample Input

6 1 2 3 4 5 2021

样例输出 Sample Output

7 14 17 21 27 5477

数据范围及提示 Data Size & Hint

对于40%的数据,1 ≤ t, k ≤ 10
对于75%的数据,1 ≤ t, k ≤ 100
对于100%的数据,1 ≤ t, k ≤ 2021

#include<iostream>
#include<cstdio>
using namespace std;
int n,x[3020],t,cnt=1,sum;
bool check(int i){
    while(i){
        if(i%10==7){
            return true;
        }
        i/=10;
    }
    return false;
}
int main(){
    for(int i=1;i<=9003;i++){
        if(i%7==0||check(i)){
            x[cnt++]=i;
        }
    }
    cin>>n;
    while(n--){
        scanf("%d",&t);
        printf("%d\n",x[t]);
    }
    return 0;
}

为什么在控制台中啥输出也没有

 


0
已采纳
潘艺博
潘艺博
初级天翼
初级天翼

数组开小了

大亿点

比如10010

(亲自实验的,错不了)

潘艺博在2021-10-16 20:25:10追加了内容

如果还不信

输出:

7 14 17 21 27 5477-->最大5000+

而你的数组呢,3000+

样例中的都存不下

我一改大点就对了

0
张展嘉
张展嘉
新手天翼
新手天翼

你可以试试吧i%7==0放入check函数里

0
蔡乐毅
蔡乐毅
高级光能
高级光能

七的倍数也要说“过”

我要回答