剑指offer之求两个数之和(不能使用四则运算)

简介: 剑指offer之求两个数之和(不能使用四则运算)

1 题目

剑指offer之求两个数之和(不能使用四则运算)


2 代码实现

#include<stdio.h>
int add(int num1, int num2)
{
  int sum1;
  int carry;
  do
  {
    sum1 = (num1 ^ num2);
    carry = (num1 & num2) << 1;
    num1 = sum1;
    num2 = carry;
  } while (carry != 0);
  return num1;
}
int main()
{
  int result = add(3, 5);
  printf("result is %d\n", result);
  return 0;
}

3 运行结果

result is 8
相关文章
|
8月前
|
算法
【一刷《剑指Offer》】面试题 11:数值的整数次方
【一刷《剑指Offer》】面试题 11:数值的整数次方
|
8月前
|
C++ Java Go
C/C++每日一练(20230409) 岛屿数量、出现次数最多整数、两数相除
C/C++每日一练(20230409) 岛屿数量、出现次数最多整数、两数相除
55 0
C/C++每日一练(20230409) 岛屿数量、出现次数最多整数、两数相除
【剑指offer】-1~n整数中1出现的次数-31/67
【剑指offer】-1~n整数中1出现的次数-31/67
|
C语言
【C语言刷题】水仙花数、打印菱形、求和
【C语言刷题】水仙花数、打印菱形、求和
93 0
|
算法
【Leetcode-190.颠倒二进制位 -191.位1的个数 -202.快乐数】
【Leetcode-190.颠倒二进制位 -191.位1的个数 -202.快乐数】
54 0
|
机器学习/深度学习 C语言
C语言:给定两个数,求这两个数的最大公约数(新思路:辗转相除法)
思路一:普通方法 总体思路: (一). 生成相关变量; 从键盘输入两个数;
153 0
C语言:给定两个数,求这两个数的最大公约数(新思路:辗转相除法)
|
算法 C语言 C++
【二分查找】668. 乘法表中第k小的数
【二分查找】668. 乘法表中第k小的数 在另一篇博客里讲过二分法的模板: 《二分法的模板讲解》
78 0
剑指offer 44. 从1到n整数中1出现的次数
剑指offer 44. 从1到n整数中1出现的次数
77 0
|
算法 C++ Python
每日算法系列【LeetCode 357】计算各个位数不同的数字个数
每日算法系列【LeetCode 357】计算各个位数不同的数字个数
115 0
|
算法 C++ Python
每日算法系列【LeetCode 829】连续整数求和
每日算法系列【LeetCode 829】连续整数求和
128 0