【2012百度之星资格赛】A:百度计算器的加法

来源:互联网 发布:精灵王座网络公映 编辑:程序博客网 时间:2024/05/17 09:12
【2012百度之星资格赛】A:百度计算器的加法
时间限制: 
 1000ms 
 内存限制: 
 10000kB
描述

百度框计算中提供了计算器这个功能,模拟计算器中的复杂功能,我们最先需要解决的就是实现加法模块。今天就给你个机会,和百度计算器一样,计算一下十以内的加法吧。

输入
仅有一组数据,包含两个正整数,分别为a, b(0 <= a, b <= 10)
输出
一个正整数,暨输入a, b后对应的a+b的计算结果
样例输入
5 2
样例输出
7
[html] view plaincopy
  1. #include <stdio.h>  
  2. #include <stdlib.h>  
  3. int Add(int a,int b)  
  4. {  
  5.     int jw=a&b;  
  6.     int jg=a^b;  
  7.     while(jw)  
  8.     {  
  9.        int t_a=jg;  
  10.        int t_b=jw<<1;  
  11.        jw=t_a&t_b;  
  12.        jg=t_a^t_b;  
  13.      }  
  14.     return jg;  
  15. }  
  16.   
  17. int main(int argc, char* argv[])   
  18. {  
  19.     int a,b,c;  
  20.     scanf("%d",&a);  
  21.     scanf("%d",&b);  
  22.     c=Add(a,b);  
  23.     printf("%d",c);  
  24.           
  25.       return 0;  
  26. }  
这是一位博客主(见下面的网址)写的,我觉得这个算法是比较好的,利用位操作来代替一般的直接加法,效率要比较高。
参考来源:http://blog.csdn.net/tianshuai11/article/details/7616495