青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

A Za, A Za, Fighting...

堅信:勤能補拙

不用+、-、×、÷數字運算符做加法

題目來源:
http://zhedahht.blog.163.com/blog/static/254111742011125100605/

題目:寫一個函數,求兩個整數的之和,要求在函數體內不得使用+、-、×、÷。

分析:這又是一道考察發散思維的很有意思的題目。當我們習以為常的東西被限制使用的時候,如何突破常規去思考,就是解決這個問題的關鍵所在。

看到的這個題目,我的第一反應是傻眼了,四則運算都不能用,那還能用什么啊?可是問題總是要解決的,只能打開思路去思考各種可能性。首先我們可以分析人們是如何做十進制的加法的,比如是如何得出5+17=22這個結果的。實際上,我們可以分成三步的:第一步只做各位相加不進位,此時相加的結果是12(個位數57相加不要進位是2,十位數01相加結果是1);第二步做進位,5+7中有進位,進位的值是10;第三步把前面兩個結果加起來,12+10的結果是22,剛好5+17=22

前面我們就在想,求兩數之和四則運算都不能用,那還能用什么啊?對呀,還能用什么呢?對數字做運算,除了四則運算之外,也就只剩下位運算了。位運算是針對二進制的,我們也就以二進制再來分析一下前面的三步走策略對二進制是不是也管用。

5的二進制是10117的二進制10001。還是試著把計算分成三步:第一步各位相加但不計進位,得到的結果是10100(最后一位兩個數都是1,相加的結果是二進制的10。這一步不計進位,因此結果仍然是0);第二步記下進位。在這個例子中只在最后一位相加時產生一個進位,結果是二進制的10;第三步把前兩步的結果相加,得到的結果是10110,正好是22。由此可見三步走的策略對二進制也是管用的。

接下來我們試著把二進制上的加法用位運算來替代。第一步不考慮進位,對每一位相加。00 11的結果都00110的結果都是1。我們可以注意到,這和異或的結果是一樣的。對異或而言,0011異或的結果是0,而0110的異或結果是1。接著考慮第二步進位,對000110而言,都不會產生進位,只有11時,會向前產生一個進位。此時我們可以想象成是兩個數先做位與運算,然后再向左移動一位。只有兩個數都是1的時候,位與得到的結果是1,其余都是0。第三步把前兩個步驟的結果相加。如果我們定義一個函數AddWithoutArithmetic,第三步就相當于輸入前兩步驟的結果來遞歸調用自己。

#include<stdio.h>

int
tricky_add(
int arg1, int arg2)
{
    
int a, b;
    a 
= arg1 ^ arg2; /* this is the result of arg1+arg2 without carry */
    b 
= arg1 & arg2;
    b 
<<= 1;

    
if(b == 0)
        
return a;
    
else
        
return tricky_add(a, b);
}

int
main(
int argc, char **argv)
{
    
int x, y;
    
while(scanf("%d %d"&x, &y) != EOF) {
        printf(
"%d\n", tricky_add(x, y));
    }

    
return 0;
}



posted on 2011-06-17 17:30 simplyzhao 閱讀(332) 評論(0)  編輯 收藏 引用 所屬分類: M_面試題集錦

導航

<2011年6月>
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789

統計

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久激情综合网| 久久久另类综合| 一区二区日韩| 麻豆av一区二区三区久久| 亚洲老司机av| 欧美激情一区二区三区成人| 伊人久久综合97精品| 性欧美暴力猛交69hd| 亚洲人成网站色ww在线| 久久久国产亚洲精品| 国产欧美日韩一区二区三区在线| 欧美3dxxxxhd| 久久久精品一区二区三区| 国产精品综合| 午夜久久99| 亚洲午夜国产成人av电影男同| 快she精品国产999| 午夜久久久久久| 国产精品多人| 中文欧美日韩| 99国内精品| 欧美日韩国产区| 在线一区二区三区四区| 日韩午夜激情| 国产精品久久久久久久久久久久久 | 亚洲国产欧美在线人成| 午夜欧美电影在线观看| 亚洲一区二区三区四区五区黄| 一本色道久久综合狠狠躁篇怎么玩| 日韩一区二区高清| 欧美三级电影一区| 99re热这里只有精品免费视频| 国内精品久久久久久久影视蜜臀| 国产欧美日韩专区发布| 欧美视频在线不卡| 亚洲一区视频| 亚洲欧美日韩国产一区二区三区| 久久亚洲春色中文字幕| 一区二区三区我不卡| 亚洲电影观看| 欧美成人精品不卡视频在线观看| 国产精品视频999| 欧美一区日本一区韩国一区| 久久久久九九九| 亚洲黄色大片| 亚洲男人影院| 亚洲福利视频网站| 亚洲久久在线| 国产亚洲永久域名| 欧美aⅴ99久久黑人专区| 久久亚洲二区| 亚洲一区日韩| 久久久91精品国产一区二区精品| 亚洲性夜色噜噜噜7777| 亚洲国产精品国自产拍av秋霞| 一本大道久久a久久综合婷婷| 亚洲自拍偷拍视频| 午夜国产精品影院在线观看 | 欧美在线免费视频| 伊人成年综合电影网| 国产日韩欧美自拍| 欧美成人黑人xx视频免费观看| 99国内精品久久久久久久软件| 亚洲欧美在线磁力| 亚洲国产成人av| 夜夜嗨av色综合久久久综合网| 久久精品视频va| 国产精品99久久久久久人| 午夜在线播放视频欧美| 亚洲久色影视| 久久成人精品一区二区三区| 在线视频欧美日韩| 久久精品视频在线看| 亚洲小说区图片区| 蜜臀av性久久久久蜜臀aⅴ四虎| 国产亚洲精品福利| 日韩视频免费大全中文字幕| 在线看片欧美| 久久不射2019中文字幕| 亚洲欧洲av一区二区| 欧美va日韩va| 欧美成人日韩| 亚洲国产成人高清精品| 欧美专区在线播放| 午夜精品999| 国产精品www网站| 亚洲久色影视| 一区二区av| 欧美日韩国产免费| 亚洲日本视频| 99re6热在线精品视频播放速度| 亚洲伦理在线免费看| 亚洲国产清纯| 久久亚洲免费| 欧美成人激情视频| 亚洲精品免费一二三区| 久久精品在线观看| 久久久国产精彩视频美女艺术照福利| 久久久久综合| 老司机亚洲精品| 黄色一区二区三区四区| 久久九九99视频| 欧美sm视频| 99精品视频免费观看视频| 欧美激情四色| 在线性视频日韩欧美| 亚洲一区二区高清视频| 国产精品va在线| 亚洲中字在线| 欧美在线地址| 激情久久综合| 美国十次成人| 亚洲国产91| 艳女tv在线观看国产一区| 欧美午夜片在线观看| 亚洲一区二区四区| 欧美自拍偷拍午夜视频| 国内揄拍国内精品久久| 久久久综合网站| 亚洲精品久久久久久久久久久| 国产精品嫩草影院av蜜臀| 亚洲一区二区三区中文字幕| 久久精品国产免费| 91久久精品国产91性色tv| 欧美伦理a级免费电影| 亚洲视频第一页| 久久国产婷婷国产香蕉| 亚洲福利小视频| 欧美日韩小视频| 欧美有码视频| 亚洲欧洲久久| 亚洲嫩草精品久久| 国内外成人免费激情在线视频| 999亚洲国产精| 欧美亚洲色图校园春色| 国语精品一区| 欧美日韩综合网| 久久精品一本| 亚洲免费av电影| 久久久另类综合| 在线一区视频| 永久免费视频成人| 欧美日一区二区三区在线观看国产免| 亚洲国产精品久久久| 亚洲深夜激情| 亚洲黄色免费网站| 国产精品啊啊啊| 欧美成人自拍| 亚洲一区在线观看免费观看电影高清| 91久久夜色精品国产九色| 国产精品任我爽爆在线播放| 老司机精品福利视频| 亚洲免费在线看| 亚洲福利视频在线| 久久精品99国产精品日本| 亚洲国产欧美在线人成| 国产日韩欧美电影在线观看| 欧美日韩小视频| 欧美aaaaaaaa牛牛影院| 久久福利资源站| 亚洲欧美日韩国产中文在线| 亚洲卡通欧美制服中文| 亚洲丰满在线| 欧美jizz19hd性欧美| 久久久夜夜夜| 欧美在线一二三四区| 亚洲嫩草精品久久| 一区二区三区四区五区视频 | 国产字幕视频一区二区| 欧美激情第一页xxx| 快射av在线播放一区| 亚洲一区www| 日韩一级二级三级| 亚洲国产婷婷综合在线精品 | 一本色道久久加勒比88综合| 亚洲国产精品久久久久婷婷884 | 91久久精品美女| 欧美va亚洲va国产综合| 久久精品99国产精品| 午夜亚洲福利| 亚洲欧美日韩视频二区| 亚洲午夜国产一区99re久久| 亚洲精品视频在线观看网站 | 亚洲国产第一页| 黄色成人av网| 国产综合色精品一区二区三区| 老司机aⅴ在线精品导航| 欧美一进一出视频| 欧美一区二区三区四区夜夜大片 | 亚洲影视综合| 亚洲视频导航| 性欧美暴力猛交69hd| 久久精彩视频| 免费成人黄色片| 欧美99久久| 欧美日韩喷水| 国产精品区一区二区三区| 国产亚洲成av人片在线观看桃| 欧美精品久久久久久久久老牛影院| 一区二区欧美日韩视频|