列表

详情


NC230382. 7的意志

描述

11月7日,EDG以√××√√3:2战胜DK夺得S11英雄联盟全球总决赛冠军。7777公里,7777天,7的倍数的伤害,11月7日,这么多跟7酱有关的数字,这让群友们对7产生了浓厚的兴趣,开始研究起了7的意志,想得到更多跟7有关的数字。

定义这样一个无穷序列: f_i 表示前 i 个正整数连起来组成的整数。
如 

输入正整数
n,统计 中被 7 整除的数有多少个。

输入描述

第一行为正整数 ,表示数据组数;接下来 t 行,每行一个正整数

输出描述

对于每组数据,输出一个正整数,表示结果。

示例1

输入:

2
30
300

输出:

3
42

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

C++(clang++ 11.0.1) 解法, 执行用时: 155ms, 内存消耗: 440K, 提交时间: 2022-10-06 17:54:23

#include<bits/stdc++.h>
using namespace std;
int n,t;
int main(){
    cin>>t;
	while(t--){
		cin>>n;
		int x=0,ans=0;
		for(int i=1;i<=n;i++)x=stoi(to_string(x)+to_string(i))%7,ans+=!x;
		cout<<ans<<endl;
	}
}

Python3 解法, 执行用时: 635ms, 内存消耗: 7056K, 提交时间: 2021-11-21 20:02:16

t=int(input())
for i in range(t):
    ans=0
    tmp=0
    g=int(input())
    for j in range(1,g+1):
        tmp=int(str(tmp)+str(j))%7;
        if tmp==0 :
            ans+=1;
    print("%d"%(ans))

上一题