`

<找工作 三>统计1到N中1出现的个数

 
阅读更多

#include <iostream>
using namespace std;
unsigned long long countOneNum(unsigned long long   N);
int main(){
	unsigned long long n=123;
	cout<<"-----------Start Count N:"<<n<<" One Numbers------------"<<endl;
	unsigned long long result=countOneNum(n);
	cout<<"-----------One Numbers: "<<result<<"------------"<<endl;
	getchar();
}
unsigned long long countOneNum(unsigned long long   n){
	unsigned long long highNum=1;
	unsigned long long midNum=0;
	unsigned long long lowNum=0;
	unsigned long long count=0;
	unsigned long long factor=1;
	while(highNum>0){
		highNum=n/(factor*10);		
		lowNum=n%factor;
		midNum=n/factor%10;
		switch (midNum){
		case 0:
			count+=highNum*factor;
			break;
		case 1:
			count+=highNum*factor+lowNum+1;
			break;
		default:
			count+=(highNum+1)*factor;

		}
		factor*=10;
	}
	return count;
}
 很有意思的东西
分享到:
评论

相关推荐

    C#编程经验技巧宝典

    54&lt;br&gt;&lt;br&gt;0075 用回溯法找出n个自然数中取r个数的全排列 55&lt;br&gt;&lt;br&gt;0076 约瑟夫环问题 56&lt;br&gt;&lt;br&gt;0077 猴子选大王 57&lt;br&gt;&lt;br&gt;0078 如何判断IP是否正确 57&lt;br&gt;&lt;br&gt;0079 如何将小写金额转换为大写金额 57...

    语言程序设计课后习题答案

    cout &lt;&lt; "The size of a short int is:\t" &lt;&lt; sizeof(short) &lt;&lt; " bytes.\n"; cout &lt;&lt; "The size of a long int is:\t" &lt;&lt; sizeof(long) &lt;&lt; " bytes.\n"; cout &lt;&lt; "The size of a char is:\t\t" &lt;&lt; sizeof(char) &lt;&lt; ...

    计算机二级公共基础知识

    如果从根结点开始,按层次(每一层从左到右)用自然数1,2,……,n给结点进行编号,则对于编号为k(k=1,2,……,n)的结点有以下结论: ① 若k=1,则该结点为根结点,它没有父结点;若k&gt;1,则该结点的父结点编号...

    测试培训教材

    把“调用&lt;Connect And Sign-On&gt;”的测试步骤调整到第一步 查看需求覆盖率 -- Linking Requiremnets to a Test 将需求链接到测试Cruise Booking 注:由于Cruise Booking的测试是由Cruise Booking的需求转化而成...

    华为编程开发规范与案例

    1 逻辑类问题(A类)-指设计、编码中出现的计算正确性和一致性、程序逻辑控制等方面出现的问题,在系统中起关键作用,将导致软件死机、功能正常实现等严重问题; 接口类问题(B类)-指设计、编码中出现的函数和...

    delphi 开发经验技巧宝典源码

    0171 判断字符在字符串中出现的个数 111 0172 在语句中查找汉字的个数 112 0173 如何统计中英文个数 112 5.5 字符串的其他操作 113 0174 返回指定字符串的起始位置 113 0175 获得汉字的拼音简码 113 ...

    计算机二级C语言考试题预测

    (13) 设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出 A. 349 B. 350 C. 255 D. 351 (14) 结构化程序设计主要强调的是(B) A.程序的规模 ...

    windows实用dos命令大全

    若找不到该文件,则根据PATH命令所设置的路径,顺序逐条地到目录中搜索该文件;  (2)PATH命令中的路径,若有两条以上,各路径之间以一个分号“;”隔开;  (3)PATH命令有三种使用方法:  PATH[盘符1:][路径1...

    浅谈数据分析.docx

    频率:反应一个数据在样本中出现的频繁程度,是数据的频数除以样本总量得到的。 比例与比率 比例:比例是指在总体中各数据占总体的比重,通常反映总体的构成和比例,即部分与整体之间的关系。比如某班男20,女30人...

    二级C语言公共基础知识

    答:n(n-1)/2#n*(n-1)/2#O(n(n-1)/2)#O(n*(n-1)/2) (13) 面向对象的程序设计方法中涉及的对象是系统中用来描述客观事物的一个______。 答:实体 (14) 软件的需求分析阶段的工作,可以概括为四个方面:______、需求...

    软件测试规范

    2 三.软件测试流程 ............................................................................................................................................ 3 1.软件测试流程图 .......................

    delphi 开发经验技巧宝典源码06

    0171 判断字符在字符串中出现的个数 111 0172 在语句中查找汉字的个数 112 0173 如何统计中英文个数 112 5.5 字符串的其他操作 113 0174 返回指定字符串的起始位置 113 0175 获得汉字的拼音简码 113 ...

    C#开发实例大全(基础卷).软件开发技术联盟(带详细书签) PDF 下载

    实例044 获取字符串中汉字的个数 57 实例045 批量替换某一类字符串 58 实例046 对字符串进行加密与解密 59 3.3 常用数字处理技术 61 实例047 判断输入的货币值是否为数字 61 实例048 对计算结果进行四舍五入 62 实例...

Global site tag (gtag.js) - Google Analytics