求某个数的二进制表示中的“1”的个数——递归算法

简介:
None.gif#include <stdio.h>
None.gif
None.gif int getOneNumber( int number)
ExpandedBlockStart.gif {
InBlock.gif    if(number==1) return 1;
InBlock.gif    if(number==0) return 0;
InBlock.gif    
InBlock.gif    return number%2+getOneNumber(number/2);
ExpandedBlockEnd.gif}

None.gif int main()
ExpandedBlockStart.gif {
InBlock.gif    int inputNumber,oneNumber;
InBlock.gif    scanf("%d",&inputNumber);
InBlock.gif    oneNumber=getOneNumber(inputNumber);
InBlock.gif    printf("OneNumber:%d",oneNumber);
InBlock.gif    
InBlock.gif    return 0;
ExpandedBlockEnd.gif}

None.gif
None.gif
本文转自冬冬博客园博客,原文链接:http://www.cnblogs.com/yuandong/archive/2006/08/16/478502.html ,如需转载请自行联系原作者
相关文章
|
8天前
|
存储 算法
【三种方法】求一个整数存储在内存中二进制中的1的个数附两道课外练习题
【三种方法】求一个整数存储在内存中二进制中的1的个数附两道课外练习题
7 0
|
2月前
《剑指offer》——二进制中1的个数
《剑指offer》——二进制中1的个数
【剑指offer】-二进制中1的个数-11/67
【剑指offer】-二进制中1的个数-11/67
|
5月前
|
算法 测试技术 C#
C++二分查找算法的应用:最小好进制
C++二分查找算法的应用:最小好进制
|
11月前
|
机器学习/深度学习 C++
剑指offer 14. 二进制中1的个数
剑指offer 14. 二进制中1的个数
38 0
判断一个数是否是对称数(数组/非数组解法)
判断一个数是否是对称数(数组/非数组解法)
leetcode 1356 根据数字二进制下1的数目排序
leetcode 1356 根据数字二进制下1的数目排序
56 0
leetcode 1356 根据数字二进制下1的数目排序
求两个数二进制中不同位的个数
题目内容:两个int(32)整数m和n的二进制表达中,有多少个位(bit)不同? 输入例子: 1999 2299 输出例子: 7
【剑指offer】二进制中1的个数&&2的幂
【剑指offer】二进制中1的个数&&2的幂
【剑指offer】二进制中1的个数&&2的幂
LeetCode 1356. 根据数字二进制下 1 的数目排序
给你一个整数数组 arr 。请你将数组中的元素按照其二进制表示中数字 1 的数目升序排序。
49 0