[Algorithm] 1. A+B Problem

jjlovezz發表於2018-11-02

Description

Write a function that add two numbers A and B.

Clarification

Are a and b both 32-bit integers?

  • Yes.

Can I use bit operation?

  • Sure you can.

Example

Given a=1 and b=2 return 3.

Challenge

Of course you can just return a + b to get accepted. But Can you challenge not do it like that?(You should not use + or any arithmetic operators.)

My Answer

Using a recursion method to solve this problem!

 1     /**
 2      * @param a: An integer
 3      * @param b: An integer
 4      * @return: The sum of a and b 
 5      */
 6     int aplusb(int a, int b) {
 7         // Recursion process
 8         if ( (a & b) == 0 ){
 9             return a ^ b;
10         } else {
11             return aplusb( (a^b), ((a&b)<<1) );
12         }
13     }

Tips

It`s not the only way to get the right answer. Can you try the other way like the loop structure?

 

相關文章