统计0到n之间1的个数
问题描述
给定一个十进制整数N,求出从1到N的所有整数中出现”1”的个数。
例如:N=2时 1,2出现了1个 “1” 。
N=12时 1,2,3,4,5,6,7,8,9,10,11,12。出现了5个“1”。
1、暴力求解法
//暴力求解
long CountOnes(long n)
{int i,j;//循环变量int ncount=0;//计数for (i=1; i<=n; i++){j=i;while(j!=0){if (j%10==1){ncount++;}j/=10;}}return ncount;
}
2、统计方法
统计n每一位的值:
current = (n / i) % 10;before = n / (i * 10);after = n - (n / i) * i;
123
current=2;
before=1;
after=3;
对于某个位置,它可以是大于1,等于1,等于0
如果大于1,则由高位+1决定数目
如果等于1,则由其左右两边的数目决定
如果等于0,也是由高位决定
1、current=0时
cout=cout+before*i;
2、current=1
cout=cout+before*i+after*i
3、current>1
cout=cout+(before+1)*i
public long CountOne2(long n) {long count = 0;long i = 1;long current = 0, after = 0, before = 0;while ((n / i) != 0) {current = (n / i) % 10;before = n / (i * 10);after = n - (n / i) * i;if (current > 1)count = count + (before + 1) * i;else if (current == 0)count = count + before * i;else if (current == 1)count = count + before * i + after + 1;i = i * 10;}return count;
}
统计0到n之间1的个数相关推荐
- 统计0到n各数字的个数
目录 1.问题描述 2.算法 3.注意事项 1.问题描述 一本书的页码从自然数1 开始顺序编码直到自然数n.书的页码按照通常的习惯编排,每个页码都不含多余的前导数字0.数字计数问题要求对给定书的总页码 ...
- 输入一串数字统计0到9每个数字的个数
题目: 输入一串字符统计这串字符中0有多少,1有多少,-,9有多少. #include <stdio.h> int main() {char c;int shu[10]={0},i;whi ...
- 4000000000内满足f(n)=n最大的n(f(n)统计0~n中所有1的个数)
2019独角兽企业重金招聘Python工程师标准>>> #include <windows.h> #include <cstdlib> #include &l ...
- Java黑皮书课后题第7章:*7.7(统计个位数的数目)编写一个程序,生成0和9之间的100个随机整数,然后显示每一个数出现的次数
*7.7(统计个位数的数目)编写一个程序,生成0和9之间的100个随机整数,然后显示每一个数出现的次数 题目 题目描述 破题 代码 运行示例 题目 题目描述 *7.7(统计个位数的数目)编写一个程序, ...
- Java求n以内素数_求0到n之间素数个数的序列(Java)
要求: (1) 找出0-1000之间素数 (2) 设f(n)表示0-n之间的素数个数,计算出当n=0,1,2,3,.....,997时f(n)的值,并写入文件 分析: 首先找素数使用一个效率较高的方法 ...
- 编写程序,随机产生20个0到1之间的数,将这20个数写入文本文件中,要求每行5个数
import java.io.File; import java.io.FileOutputStream; import java.io.FileWriter; import java.io.IOEx ...
- 统计两个IP地址之间的IP个数
问题 求两个IP地址之间的IP个数,例如192.18.16.1~192.18.16.5,2001:DB8:0000:0023:0008:0800:200C:417C~2001:DB8:0:23:8:8 ...
- ios取两个数之间的随机小数_关于ios:生成0到1之间的随机浮点数
我试图生成一个介于0和1之间的随机数.我一直在阅读有关arc4random()的信息,但是没有关于从中获取浮点数的任何信息. 我该怎么做呢? 不是重复项,这似乎是与浮点数明确相关的唯一问题. [0,1 ...
- c语言 统计数量用count_C语言编程中统计输入的行数以及单词个数的方法
统计输入的行数 标准库保证输入文本流以行序列的形式出现,每一行均以换行符结束.因此,统计行数等价于统计换行符的个数. #include /* count lines in input */ main( ...
最新文章
- 题目1023:EXCEL排序
- 美团_ccListView选中Item的颜色修改及解决登陆后升级通知再次弹出的bug
- Ubuntu连接以太网时显示“设备未托管”的解决办法
- java rsa 验_Java使用RSA加密解密签名及校验
- 3加密狗计算pin码_6 个芯片打造复古经典计算机:215 色显示,能编程能玩小游戏...
- 路飞的11大团队建设之道
- 在前端团队的那些日子(初见)
- 建设“智慧法院” 引入庭审语音识别系统
- 【布局优化】基于人工鱼群算法实现充电桩布局优化matlab源码
- 计算机考研培训中公,计算机408
- Windows10键盘快捷键大全
- ISBN 国际标准书号
- 如何助力鸿蒙发展,实话实说:华为以一已之力,能不能推动鸿蒙系统的发展 - 区块网...
- 《循序渐进Linux (第2版)》.pdf
- 安卓签名文件与MD5 SHA1 SHA256
- 云数据库RDS是什么
- 物联网在智慧校园里的应用
- 什么事MVC?什么是MVC!
- 工具赋能|Python环境搭建
- Java第十六天~第十七天/11.18~11.19
热门文章
- 移动机器人平台的坐标系---map,odom,base_link
- msm8937+android7.1系统播放某个MP4文件在data分区下创建ramdump并生成很多elf文件问题
- Android——APK 在32bit/64bit平台 动态库问题
- Android编译系统中的Kconfig,Makefile,.config编译系统浅析
- python astype(float)_Python astype(np.float)函数使用方法解析
- c++编写手机小游戏代码_只需22行代码,用python编写自己的小游戏
- 生态篇-HBase 生态介绍
- Java Socket实战之三:传输对象
- 阿里云centos7通过yum安装 Mysql 8.0.11
- 小程序之点击跳转到对应内容