<编程之美> 1的数目 c代码实现
2013-05-15 13:21
661 查看
Kodaks-iMac-2:Marco guwen$ vim numberOfOne.c /* 编程之美 1的数目 2013.5.15 marco yao */ #include <stdio.h> int sum(int n) { /*十进制*/ int count = 0, factor = 1; int low,high, bitnum; while(n/factor != 0) { high = n/(factor*10); low = n - (n/factor)*factor; bitnum = (n/factor)%10; switch(bitnum) { case 0: count += high*factor; break; case 1: count += high*factor + low+1; break; default: count += (high+1)*factor; break; } factor *= 10; } return count; } int sum_2(int n) { /*二进制*/ int count = 0; int low, high,bitnum=0,factor=1; while(n/factor != 0) { low = n - (n/factor)*factor; high = n/(factor*2); bitnum = n/factor%2; if(!bitnum) count += high*factor; else count += high*factor + low +1; factor *=2; } return count; } int main() { int n; while(scanf("%d",&n)!=EOF) { printf("the num of \"1\" is %d\n",sum_2(n)); } return 0; }
相关文章推荐
- <iOS>iPhone 应用里实现截屏功能的代码
- <数据结构> 第二章 线性表之循环链表的代码粗实现
- 最简单的struts2中使用<s:iterator>实现隔行变色代码[珍藏版]
- <Unity 3D工作笔记>脚本中勾选与取消勾选脚本,代码中的实现!
- <编程之美>给定一个十进制正整数N,写下从1开始,到N的所有整数,然后数一下其中出现的所有1的个数
- ThinkPHP采用<volist>实现三级循环代码实例
- 【代码分享】关于List<V>按V的某个属性分组的通用代码实现
- java二维码生成与解析代码实现 <转载自http://blog.csdn.net/about58238/article/details/7494704>
- <数据结构>链栈的C语言实现
- <三>基于淘宝Fourinone实现统一配置管理指南和demo
- 将js代码放到<head>标签和放到<body>标签里的区别
- <Android开发代码库>achartengine实现柱状图、圆饼图、线图等
- <UI>实现动画的若干种方式
- <二叉树 前中后 层序 非递归遍历 c语言实现>
- cocos2d-x简单游戏<打飞机>代码实现|第四部分:主场景<Helloworld.m>
- 分类算法--贝叶斯分类法(Maprdecue实现)代码实现<转>
- 第九周实验任务二--定义Complex类中的<<和>>运算符的重载,实现输入和输出,使程序读起来更自然
- <学习笔记>prototype.js方式的jsp+ajax实现
- <Unity3D专区>Unity实现加载场景进度条
- DIV+CSS+JS实现图片<ul><li></li></ul>无缝滚动代码