千里之行,始于足下,让我们从今天开始,走上通向神犇的道路!
同志们,加油!
任何一个伟大的思想,都有一个微不足道的开始。
声明:理解为重,代码次之!
前言
洛谷的第一题,让我们从这一题开始,向着大牛的路进发。
这篇文章将会讲述C
/C++
/Python
的做法,在最后,将会出现一个彩蛋哦!(备注:在思路分析中,讲述的是最简单的思路,其他奇葩想法见彩蛋怎么感觉剧透了🙄)
思路分析
警示后人!!!
观察数据范围,在C/C++
中int
类型是开不下的,因为
∣
|
∣int
∣
|
∣ 是
2
31
−
1
≈
2
×
1
0
9
2^{31}-1\approx2 \times10^{9}
231−1≈2×109,而
∣
a
∣
,
∣
b
∣
≤
1
0
9
|a|,|b|\le10^9
∣a∣,∣b∣≤109,那么
∣
a
+
b
∣
≤
2
×
1
0
9
|a+b| \le 2\times10^9
∣a+b∣≤2×109,十分接近了int
的极限,为了程序的容错性(也称鲁棒性),我们可以将变量开为long long
类型的,这样储存
C
由于这道题目让我们读入两个数,所以可以定义
a
,
b
a,b
a,b两个变量储存值,只需用scanf()
函数读入,再用printf()
函数输出
a
+
b
a+b
a+b 即可。
C++
由于C++
支持C
的函数,但是我们在C++
中并不讨论C
语言风格的写法,这也是这一系列题解的惯例,以后并不提醒。
对于C++
,思路与C
相同,但是我们可以用流输入输出cin/cout
方法进行I/O处理。
Python
我们可以定义一个数组
s
s
s,
s
0
s_0
s0 表示
a
a
a,
s
1
s_1
s1 表示
b
b
b。这样,我们用input().split()
就可以完成读入,再用print()
函数进行输出即可。但需要注意的是,
s
0
s_0
s0 和
s
1
s_1
s1 需要用int()
进行强转,才能完成数字相加的任务。
代码演示
C代码
#include <stdio.h>
int main() {
int a, b;
scanf("%d%d", &a, &b);
printf("%d\n", a + b);
return 0;
}
C++代码
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
cout << a + b << endl;
return 0;
}
Python代码
s = input().split()
print(int(s[0]) + int(s[1]))
总结
彩蛋qwq😄
这是洛谷的第一题,主要考查的是语言基础,包括输入输出、变量定义、四则运算的知识。
大牛之路,从这里开始!