日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LintCode-A + B 问题

發布時間:2023/12/2 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LintCode-A + B 问题 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章轉載?http://blog.csdn.net/wangyuquanliuli/article/details/47755461

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

您在真實的面試中是否遇到過這個題?? Yes 樣例

如果?a=1?并且?b=2,返回3

注意

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

挑戰

顯然你可以直接 return a + b,但是你是否可以挑戰一下不這樣做?

說明

a和b都是?32位?整數么?

  • 是的

我可以使用位運算符么?

  • 當然可以
標簽?Expand??


分析:用位操作異或和與來模擬進位

代碼:

[cpp] view plaincopy print?
  • class?Solution?{??
  • public:??
  • ????/*?
  • ?????*?@param?a:?The?first?integer?
  • ?????*?@param?b:?The?second?integer?
  • ?????*?@return:?The?sum?of?a?and?b?
  • ?????*/??
  • ????int?aplusb(int?a,?int?b)?{??
  • ????????//?write?your?code?here,?try?to?do?it?without?arithmetic?operators.??
  • ????????if(a==0)return?b;??
  • ????????if(b==0)return?a;??
  • ????????int?x1?=?a^b;??
  • ????????int?x2?=?(a&b)<<1;??
  • ????????return?aplusb(x1,x2);??
  • ????}??
  • };??
  • class Solution { public:/** @param a: The first integer* @param b: The second integer* @return: The sum of a and b*/int aplusb(int a, int b) {// write your code here, try to do it without arithmetic operators.if(a==0)return b;if(b==0)return a;int x1 = a^b;int x2 = (a&b)<<1;return aplusb(x1,x2);} };

    總結

    以上是生活随笔為你收集整理的LintCode-A + B 问题的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。