2 solutions
-
1
题意
将[L,R]中的所有数拼接,统计里面有多少个数字2。
思路
直接用count函数统计一个数中有多少个2,然后累加。
代码
#include<iostream> using namespace std; int main(){ void input(int&,int&);//输入 void print(int);//输出 int solution(int,int);//计算 int L(0); int R(0); input(L,R);//输入条件 print(solution(L,R));//输出结果 return 0; } void input(int&p1,int&p2){//两个输入口 cin>>p1>>p2; } void print(int num){//需要输出的东西 cout<<num; } int solution(int a,int n){//[a,n]中查找 int count(int);//计算一个数中有多少个2 int ret(0); for(int i(a);i<=n;i++)//闭区间 ret+=count(i);//直接累加 return ret; } int count(int x){//被统计的数 int ret(0); while(x){ if(x%10==2)//按位判断 ret++; x/=10;//往上判断 } return ret; }
- 1
Information
- ID
- 179
- Time
- 1000ms
- Memory
- 125MiB
- Difficulty
- 1
- Tags
- # Submissions
- 38
- Accepted
- 27
- Uploaded By