计数问题
创始人
2024-03-24 01:23:03
0

目录

B.计数问题

思路:

代码:

时间复杂度:

总结:

题目链接:


B.计数问题

时间:1s   

空间:128M

题目描述:

计算在区间 1 到 n 的所有整数中,数字 x(0 ≤ x ≤ 9)共出现了多少次?例如,在 1到 11中,1,2,3,4,5,6,7,8,9,10,11中,数字 1 出现了 4 次。

输入格式:

2个整数n,x,之间用一个空格隔开

输出格式:

1个整数,表示x出现的次数。

样例输入1:

11 1

样例输出1:

4

约定:

1<=n<=1000000,0<=x<=9。

思路:

        首先,写一个函数find:
            参数是两个int类型的n和x;
            其作用就是求n这个数的各位数字包含着几个x;
            我们刚开始,要求n的各位数字,可以用一个while循环:
              直到n为0为止
              每次将n除以10的余数存入一个变量里面,然后判断这个变量是不是等于x,是的话就将一个计数器++;
        main中:
            输入之后,for循环从1开始,依次到n,每一次都要进行一次find(i,x)的计数
        最后输出这个计数器. 

代码:

//B.计数问题(信友队100题挑战赛)
//正解: 
#include 
using namespace std;
int ans=0,n,x;
void find(int n,int x){ //找n的各位数字中有几个xint tmp; //用来存储n的各位数字 while(n!=0){ //循环取数字 tmp=n%10; //除以10的余数 if(tmp==x) //只要两者相等 ans++;  //计数器++ n/=10;}
}
int main(){cin>>n>>x; //输入 for(int i=1;i<=n;i++) //循环找x find(i,x); //依次运用函数 cout<

时间复杂度:

  时间复杂度是O(6n)=O(n)*O(6)

  那么这个O(6)是怎么来的呢?

  O(6):这个6复杂度就是find函数运行依次最大的时间,因为n最多是10^6,除以6次10,你就为0了,while就结束了!  

总结:

  这道题考察了学生们对于函数的调用,数字的各位数处理的灵活应用,总的来说还是不算难的,适合刚学算法的人做.

题目链接:

https://www.xinyoudui.com/contest?courses=336&books=325&pages=8575&fragments=16340&problemId=7810&pattern=0https://www.xinyoudui.com/contest?courses=336&books=325&pages=8575&fragments=16340&problemId=7810&pattern=0

相关内容

热门资讯

流动摊贩违规添加食品添加剂,公... 极目新闻通讯员 王粲 以公开促公正、以听证赢公信,近日,湖北省团风县检察院就甄某销售不合格食品行政公...
浙江义乌首创商会退出机制 制度... 中新网义乌12月27日电 题:浙江义乌首创商会退出机制 制度化探索获全国推广 作者 董易鑫 “我们正...
《办法》:建立身份透明制度,划... 专家解读|促进人工智能拟人化互动服务有序开展引领人工智能负责任创新 人工智能技术的突破正推动人机交互...
探寻强制执行律师服务,周云卿律... 在法律纠纷中,胜诉只是第一步,真正实现权益落地,强制执行环节至关重要。那么,强制执行律师服务哪家强?...
李宏毅直播称活动因不可抗力取消... 12月25日,艺人李宏毅因与芒果娱乐的经纪合同纠纷,被法院执行约1118万元款项,同时收到限制消费令...
法援故事|法援“撑腰”!13名... 绿色通道,法援接单 春节前,农民工们多次向县住建局清欠办反映情况,在工作人员协调下,郭某某给部分人出...
山西黄河壶口瀑布旅游区推出免门... 公众号转载山西经济日报稿件,须申请授权。 山西黄河壶口瀑布旅游区日前发布消息,从12月下旬至明年2...
吉利汽车旗下公司起诉知名电池企... 欣旺达(SZ300207)子公司欣旺达动力科技股份有限公司(以下简称欣旺达动力)卷入了一场高达23....
备案审查成效显著 全国人大常委... 每经记者|李彪 每经编辑|黄博文 12月24日,全国人大常委会法工委(以下简称“法工委”)法规备案...