依舊的博客
技術學習
C++博客
首頁
新隨筆
聯系
聚合
管理
17 Posts :: 1 Stories :: 2 Comments :: 0 Trackbacks
常用鏈接
我的隨筆
我的評論
我參與的隨筆
留言簿
(3)
給我留言
查看公開留言
查看私人留言
隨筆分類
(15)
編程(13)
動手(1)
基礎(1)
業務
隨筆檔案
(17)
2007年4月 (1)
2007年1月 (1)
2006年10月 (1)
2006年9月 (1)
2006年8月 (2)
2006年6月 (1)
2006年5月 (10)
文章分類
(9)
編程(4)
動手(1)
基礎(1)
思想(3)
文章檔案
(1)
2007年5月 (1)
搜索
最新評論
1.?re: 思路欣賞
確實沒有太直接的用處,訓練思維吧
--zliner
2.?re: 思路欣賞
沒有看明白,但在看完了以后,會想說,這樣的想法,能幫助我們解決哪些問題?
--E398
閱讀排行榜
1.?MVC模式和文檔/視圖結構(3046)
2.?觀察者模式(2286)
3.?C/S通信和Winsock編程(2272)
4.?錯誤碼、異常和斷言(1443)
5.?COM基本概念和COM模型(1163)
評論排行榜
1.?思路欣賞(2)
2.?MFC的五種基本機制(0)
3.?多操作系統的引導(0)
4.?用例分析基礎(0)
5.?MVC模式和文檔/視圖結構(0)
思路欣賞
欣賞好的思路是一件愉快的事,特別是對我不會做的題目。
1. 問題:對32位的二進制整數,不用循環,求出其中1的個數。
#define
?POW(c)?(1<<(c))
#define
?MASK(c)?(((unsigned?long)-1)?/?(POW(POW(c))?+?1))
#define
?ROUND(n,?c)?(((n)?&?MASK(c))?+?((n)?>>?POW(c)?&?MASK(c)))
int
?bit_count(unsigned?
int
?n)
{
????n?
=
?ROUND(n,?
0
);
????n?
=
?ROUND(n,?
1
);
????n?
=
?ROUND(n,?
2
);
????n?
=
?ROUND(n,?
3
);
????n?
=
?ROUND(n,?
4
);
????
return
?n;
}
基本的想法是把所有的1加起來,得到的就是1的個數。我們需要把這些1分離出來,每個1都是平等的,與其位置無關。難題在于不能一個一個去取,那就用到了循環,當然遞歸也是不允許的。需要有一種統一的辦法,可是很難想象具體該怎樣。我們逐步地做這件事,假設前16位和后16位分別求得了1的個數,那么加起來就行了。16位二進制中的1仍然是未知的,隨機出現的,問題的性質沒有變,但我們可以繼續分解,這種逐步的做法不一定就意味著遞歸。每個16位分解為兩個8位,...,每個2位分解為兩個1位,把兩個1位上的數相加就是這兩位上1的個數。現在需要取出每一位上的數嗎?如果想到了這個問題,就離最終的思路不遠了。現在32位已經分成了16個兩位,很容易將其看作兩個16位,一個是所有奇數位,一個是所有偶數位。我們不難把這兩個16位分開,然后移位相加,就求出了每兩位中1的個數。到了這一步,以后的思路就很自然了。
參考:
《計算二進制位'1'的個數》來自?
http://kaikai.cnblogs.com
posted on 2006-05-12 23:14
依舊的博客
閱讀(662)
評論(2)
編輯
收藏
引用
所屬分類:
編程
Feedback
#
re: 思路欣賞
2006-06-23 18:54
E398
沒有看明白,但在看完了以后,會想說,這樣的想法,能幫助我們解決哪些問題?
回復
更多評論
#
re: 思路欣賞
2006-06-23 20:44
zliner
確實沒有太直接的用處,訓練思維吧
回復
更多評論
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
【推薦】100%開源!大型工業跨平臺軟件C++源碼提供,建模,組態!
相關文章:
用例分析基礎
MFC的五種基本機制
思路欣賞
幾種排序方法的實現
多線程通信的機制
COM基本概念和COM模型
排序的方法
數據庫范式及其涵義
C/S通信和Winsock編程
論面向對象
網站導航:
博客園
IT新聞
BlogJava
博問
Chat2DB
管理
Powered by:
C++博客
Copyright © 依舊的博客
久久婷婷激情综合色综合俺也去
|
精品久久久久久无码人妻热
|
色综合久久夜色精品国产
|
久久亚洲精品国产亚洲老地址
|
三级片免费观看久久
|
久久亚洲欧美国产精品
|
色综合久久久久网
|
香蕉久久久久久狠狠色
|
国产精品美女久久久m
|
午夜福利91久久福利
|
久久超乳爆乳中文字幕
|
狠狠综合久久综合中文88
|
久久婷婷激情综合色综合俺也去
|
久久播电影网
|
久久777国产线看观看精品
|
欧美精品乱码99久久蜜桃
|
久久亚洲精品视频
|
久久久久亚洲AV无码专区体验
|
精品人妻伦九区久久AAA片69
|
国产精品久久久天天影视香蕉
|
久久久久99这里有精品10
|
91久久精品电影
|
99久久无码一区人妻a黑
|
欧美午夜A∨大片久久
|
国产真实乱对白精彩久久
|
久久久久久综合一区中文字幕
|
日日噜噜夜夜狠狠久久丁香五月
|
麻豆久久久9性大片
|
久久国产精品波多野结衣AV
|
国产精品9999久久久久
|
久久丫精品国产亚洲av不卡
|
一本综合久久国产二区
|
国产精品综合久久第一页
|
久久免费国产精品一区二区
|
99久久精品国产免看国产一区
|
亚洲国产一成人久久精品
|
一级a性色生活片久久无少妇一级婬片免费放
|
国产成人精品久久一区二区三区
|
91久久精品无码一区二区毛片
|
国产日产久久高清欧美一区
|
久久综合九色综合97_久久久
|