P1001 A+B Problem 题解
Little_Cart · · 题解
你好啊,欢迎进入编程的世界!接下来你要迎接的挑战是:进入编程世界的关键一招,
如果你通过了这个问题,那么你就彻底打开了通往新世界的大门!那让我们开始吧!
C++
我想了一下,传统的
我们假设
每次二分开始的时候,我们将
如果
如果
如果
我们可以使用 while 循环来重复这个过程,直到我们找到答案。
由于过程中可能会爆 int,所以我们需要可以储存更大整数变量的类型:long long!
附上一份代码,如果想要真正踏入编程的世界,那么是不可以复制别人的代码提交的,需要你亲手打出来,体验编程之美!
#include<iostream>
using namespace std;
long long a,b;
int main(){
long long l=-2e9,r=2e9,mid;
cin>>a>>b;
while(l<=r){
mid=(l+r)>>1;
if(a+b==mid){
cout<<mid;
break;
}
else if(a+b<mid){
r=mid-1;
}
else if(a+b>mid){
l=mid+1;
}
}
return 0;
}
如果你通过了这道题,那么恭喜你,你现在可以挑战所有带有二分标签的题目了,让我们继续加油吧!
python
同时附上一篇 python 题解。
由于 python 中的 input 会读入一行的字符串,所以这里我们使用 split 来将这个字符串分割成两个正整数。
split 可以将一个字符串函数默认按照空格将字符串分割并返回一个列表。
在 split 结束之后,int(s[0])。
s=input().split()
print(int(s[0])+int(s[1]))