数字 1 的个数

每日一练社区 每日一练社区 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。

 

示例 1:

输入:n = 13
输出:6

示例 2:

输入:n = 0
输出:0

 

提示:

  • 0 <= n <= 109
...全文

相关推荐

C++计算一个数字的二进制中0或1的个数原理及代码

C++计算一个数字的二进制中0或1的个数原理及代码

Zhangyanfeng1

统计1到N数字1个数[项目代码]

该文章介绍了如何计算从1到N的所有整数中包含数字1的个数。通过分析题目要求,作者提出了一种优化方法,即预先计算并存储每个数字的1的个数,以避免重复计算。文章提供了详细的算法思路和C语言参考代码,展示了如何通过数组存储中间结果,从而在多次查询时快速返回结果。该方法适用于N的范围在1到99999之间,并以0作为输入结束标志。

编译布丁

枚举的实现求得1-1000所有出现1的数字并计算出现1的个数

求得1-1000所有出现1的数字,并计算出现1的个数,以下是采用枚举的实现方法,但是若从1-N就不管用了,因为N不一定会是多少

weixin_38675967

从键盘输入十个整数,合法值为1.2或3,不是这三个数则为非法数字,试编程统计每个整数和非法数字的个数。

行结果如下: 请输入10个数: 2,5,3,3,1,6,4,1,3,3 输入的10个数为:2 5 3 3 1 6 4 1 3 3 数字1的个数: 2 数字2的个数:1 数字3的个数:4 非法数字的个数:3

窝瓜Deliration

统计1到n之间所有含1的数字个数,并找出n以内最大的那个f(m)=m的值

统计1到n之间所有含1的数字个数f(n),并找出n以内最大的那个f(m)=m的值,f(n)的时间复杂度为O(logn),找最大的那个f(m)=m的值的时间复杂度为O(n)。 思路和一位叫深海蓝天的哥们一样,不过那哥们提供的程序当n=2500000000时,f(n)计算的结果有错。网上很多程序都没考虑到n接近unsigned long能表达的最大值时,计算f(n)会发生溢出,所给的程序考虑了这点,计算结果与最直接的解法: for(n:N) { 判断n包含1的个数; 累加计数器; } 完全一致

lamia52642
评论 6
收藏 已收藏
分享
返回顶部
每日一练社区
每日一练 11,882 成员 1,362 内容