程序员面试题精选100题(55)-不用+、-、×、÷做加法

来源:互联网 发布:淘宝投诉假冒伪劣电话 编辑:程序博客网 时间:2024/05/19 13:24

 想到用位运算了,但没想到这么简洁的算法

// 程序员面试题精选100题(55)-不用+、-、×、÷做加法.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>using namespace std;int AddWithoutArithmetic(int num1, int num2){if(num2 == 0)return num1;int sum = num1 ^ num2;int carry = (num1 & num2) << 1;return AddWithoutArithmetic(sum, carry);}int _tmain(int argc, _TCHAR* argv[]){int a,b;cin>>a;cin>>b;cout<<AddWithoutArithmetic(a,b)<<endl;system("pause");return 0;}


原创粉丝点击