1 条题解
-
0
G2025 [GESP202603 二级] 数数 题解
知识点:数字处理、条件计数。
解题思路
枚举区间内每个整数,统计十进制表示中字符2的数量,恰为3时增加答案。
为什么正确
每个候选都完整检查全部数位,“恰为3”筛选得到且仅得到合法数。
易错点
超过三个2也不合法;不是统计所有2的出现总次数。
复杂度
时间O((r-l+1)log r),空间O(log r)。
参考代码(C++17)
#include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); int l,r,ans=0; cin>>l>>r; for(int i=l;i<=r;i++) { string s=to_string(i); ans+=count(s.begin(),s.end(),'2')==3; } cout<<ans; }说明
本题解为配套教学整理,非官方题解。复杂度按本页参考实现计算,题库使用6个自行生成的测试点。
- 1