算法:不使用加号,求两数之和

算法

求两个数之和,但不能使用加号运算符

方法一:

int add(int a, int b){

  return a-(-b);
}

方法二:

int add2(int a,int b){
while (a>0) {
    b++;
    a--;
}
while (a<0) {
    b--;
    a++;
}
  return b;
}

方法三:

int add3(int a, int b){
    //    利用星号(*)将宽度精度传递给printf()
    return printf("%*s%*s",a,"",b,"");
}   

方法四:

int add4(int a, int b){//半加法逻辑
    if (!b) {
        return a;
  }
    int sum = a ^ b;//异或
    int carry = (a&b)<<1;//与
    return add4(sum, carry);
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,272评论 0 13
  • 糊糊涂涂做人,清清楚楚做事。人至察则无徒,所以太聪明的人都不能溶于当世。
    袁谦阅读 325评论 1 0
  • 国庆刻夜月挂上,邓云旁存多美物。 我回她东再别好,没你在时万事凉。
    春城怡景阅读 232评论 0 1
  • 感赏自己今天又有新的进步。一是昨晚十二点睡觉,比前一天又早了十几分钟啦。想到就去努力做到。真棒! 二是今天下午花了...
    玥儿_2017阅读 190评论 2 2