题目大意
读入两个整数 $A$ , $B$,求两者之和。
数据范围
$ 0≤A,B≤10^8 $
解法一
思路
读入后相加。
在此提供 $cin & cout$ 与 $scanf & printf$ 两种写法。
代码1
#include<bits/stdc++.h>
using namespace std;
int a,b;
int main()
{
cin>>a>>b;
cout<<a+b<<endl;
return 0;
}
代码2
#include<bits/stdc++.h>
using namespace std;
int a,b;
int main()
{
scanf("%d %d",&a,&b);
printf("%d\n",a+b);
}
解法二
思路
二分法。
如果有读者目前还未学二分,可以访问 二分及其相关知识
代码
#include<bits/stdc++.h>
using namespace std;
int a,b;
int main()
{
cin>>a>>b;
int l=0,r=1e9;
while(l+1<r)
{
int mid=(l+r)>>1;//相当于(l+r)/2
if(a+b>mid)l=mid;
else r=mid;
}
cout<<r<<endl;
}
总结
这道题目建议用普通的加法写法,但同样也可以作为一些算法的练习题。
方法多样,在此不多赘述,如果有问题,欢迎在评论区指出。