MLE了,求优化

P1001 A+B Problem

Rn_Lamsuly @ 2020-11-14 21:13:44

#include<bits/stdc++.h>
using namespace std;
int add(int a,int b)
{
    if(a&b==0)return (a|b);
    return add(a^b,(a&b)<<1);
}
int main()
{
    int a,b;
    scanf("%d%d",&a,&b);
    printf("%d",add(a,b));
    return 0;
}

by EDqwq @ 2020-11-14 21:18:08

sqlm


by impuk @ 2020-11-14 21:19:34

那这只能说明你比较菜。


by Graphcity @ 2020-11-14 21:19:34

输入是 0 0 就直接爆栈了


by 天命之路 @ 2020-11-14 21:31:11

@舒熙皓 不会吧, 0 & 0 = 0


by 天命之路 @ 2020-11-14 21:32:37

但这个函数真的有递归出口吗?怀疑


by Rn_Lamsuly @ 2020-11-14 21:34:32

所以我很好奇计算机是怎么用位运算来算加法的


by Graphcity @ 2020-11-14 21:35:32

后面的判断优先级不是高于与的吗 所以那个判断语句的返回值是 0


by Graphcity @ 2020-11-14 21:38:31

@肾小囊190350 判断语句那里 a&b 加一个括号就能过了


by Rn_Lamsuly @ 2020-11-14 21:40:10

@舒熙皓 我谢谢你


by Rn_Lamsuly @ 2020-11-14 21:41:11

@舒熙皓 所以==的优先级比&


| 下一页