标签:blog io ar os 使用 sp 2014 log ad
题目1507:不用加减乘除做加法 时间限制:1 秒内存限制:128 兆特殊判题:否提交:782解决:581 题目描述: 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 输入: 输入可能包含多个测试样例。 对于每个测试案例,输入为两个整数m和n(1<=m,n<=1000000)。 输出: 对应每个测试案例,输出m+n的值。 样例输入: 3 4 7 9 样例输出: 7 16
解法:模拟二进制加
#include <iostream> #include<stdio.h> using namespace std; int add(int num1,int num2){ int sum,carry; do{ sum = num1^num2; carry = (num1&num2)<<1; num1 =sum; num2=carry; }while(num2); return num1; } int main() { int n,m; while(scanf("%d%d",&n,&m)!=EOF){ printf("%d\n",add(n,m)); } return 0; }
标签:blog io ar os 使用 sp 2014 log ad
原文地址:http://blog.csdn.net/hackcoder/article/details/41894321