NC22745. 听说你想成为六学家
描述
2018年六学文化风靡网络,羽姐姐沉迷于此,把和男朋友约会的时间都用来研究六学了。
这一天他看见小西与小理正在比赛,于是想给他们出道题,检验他们是否能算得上一个合格的六学家。
羽姐姐会给他们一个数字,要求他们求出区间[1,n]中有多少个数字中含有6,看谁能最快的找出来。
输入描述
输入多组数据,每组数据包含一个整数n(n<=100)
输出描述
对于每组数据输出小于等于n的数字中有多少个数字中含有'6',每组输出占一行
示例1
输入:
5
输出:
0
示例2
输入:
7
输出:
1
示例3
输入:
33
输出:
3
C++14(g++5.4) 解法, 执行用时: 1ms, 内存消耗: 368K, 提交时间: 2020-04-11 10:07:10
#include<stdio.h> int main() { int n; while(scanf("%d",&n)!=EOF){ int t=0; for(int i=1;i<=n;i++){ if(i%10==6||i/10==6){ t++; } } printf("%d\n",t); } }
pypy3(pypy3.6.1) 解法, 执行用时: 73ms, 内存消耗: 18520K, 提交时间: 2020-04-19 23:11:28
ans = [0] for i in range(1, 101) : ans.append(ans[-1] + (1 if '6' in str(i) else 0)) while True : try : n = int(input()) print(ans[n]) except : break
C(clang 3.9) 解法, 执行用时: 2ms, 内存消耗: 236K, 提交时间: 2020-02-14 15:17:03
#include<stdio.h> int main(){ int n,p=0,i; while(~scanf("%d",&n)){ for(i=6;i<=n;i++){ if(i%10==6||i/10==6) p++; } printf("%d\n",p); p=0; } return 0; }
C++ 解法, 执行用时: 2ms, 内存消耗: 312K, 提交时间: 2021-12-23 17:39:44
#include<iostream> using namespace std; int main() { int t; while(cin >> t) cout << t/10+(t%10>=6)+min(10,t-59)*(t>=60)-(t>=66) << endl; }