91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Lintcode1 A+B Problem solution 題解

發布時間:2020-07-13 14:27:41 來源:網絡 閱讀:335 作者:coderer 欄目:軟件技術

【題目描述】

Write a function that add two numbers A and B. You should not use + or any arithmetic operators.

Notice:There is no need to read data from standard input stream. Both parameters are given in function aplusb, you job is to calculate the sum and return it.

給出兩個整數a和b, 求他們的和, 但不能使用 + 等數學運算符。

注意:你不需要從輸入流讀入數據,只需要根據aplusb的兩個參數a和b,計算他們的和并返回就行。

【題目鏈接】

http://www.lintcode.com/en/problem/a-b-problem/

【題目解析】

直接+沒什么好說的,關鍵在于不用+的操作:考驗Bit Operation, 可以用按位^異或兩個操作數對應位以及carry,只是carry是1還是0需要分情況討論。求更優的解法。

位運算實現整數加法本質就是用二進制進行運算。其主要用了兩個基本表達式:x^y //執行加法,不考慮進位。(x&y)<<1 //進位操作

令x=x^y ;y=(x&y)<<1 進行迭代,每迭代一次進位操作右面就多一位0,最多需要“加數二進制位長度”次迭代就沒有進位了,此時x^y的值就是結果。

【參考答案】

http://www.jiuzhang.com/solutions/a-b-problem/


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汉中市| 石阡县| 漠河县| 沭阳县| 泰宁县| 梁山县| 嘉祥县| 延庆县| 张家港市| 奉贤区| 靖远县| 交城县| 民丰县| 濮阳县| 灌阳县| 元氏县| 屏东县| 茂名市| 岳西县| 通海县| 张掖市| 治县。| 丽水市| 稷山县| 休宁县| 客服| 上栗县| 绥德县| 淮北市| 泗阳县| 武定县| 绍兴市| 连南| 永寿县| 荔浦县| 林西县| 泗洪县| 大足县| 策勒县| 平遥县| 鹤岗市|