Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1562277
  • 博文数量: 327
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 3556
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-05 21:28
个人简介

东黑布衣,流浪幽燕。 真诚善良,值得信赖。

文章分类

全部博文(327)

我的朋友

分类: BSD

2005-08-15 14:55:29

      引刀成一块,不负少年头。



  1. #include "stdafx.h"
  2. #include <stdio.h>

  3. int hamingWeight0(unsigned int n)//时间复杂度O(m)
  4. {
  5.     int ans=0;
  6.     while(n>0){
  7.         n=n&(n-1);
  8.         ans++;
  9.     }
  10.     return ans;
  11. }

  12. int hamingWeight1(unsigned int n)//时间复杂度O(log(n))
  13. {
  14.     int ans=0;
  15.     while(n){
  16.         if((n&1) != 0)
  17.             ans++;
  18.         n=n>>1;
  19.     }
  20.     return ans;
  21. }
  22. int _tmain(int argc, _TCHAR* argv[])
  23. {
  24.     unsigned int x;
  25.     scanf("%u",&x);
  26.     do{
  27.         printf("Number of 1 Bits is %d\n",hamingWeight0(x));
  28.         printf("Number of 1 Bits is %d\n",hamingWeight1(x));
  29.         scanf("%u",&x);
  30.     }while(x!=0);
  31.     return 0;
  32. }









阅读(3142) | 评论(5) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2008-08-01 14:56:33

老师:教室里怎么那样香呀?学生:我们刚刚上完体育课,流了很多汗,老师,对不起了。