LeetCode刷题计划
推荐 代码随想录:https://github.com/youngyangyang04/leetcode-master
卡码网 练习ACM模式 https://kamacoder.com/
01
cpp
#include <iostream>
using namespace std;
int main()
{
int a ,b;
while(cin>>a>>b){
cout<<a+b<<endl;
}
return 0;
}
python
while True:
try:
a,b = map(int,input().split())
print(a+b)
except EOFError:
break
注意:
- try和except配套用
- python输入是使用a = int(input())
- 输入一行,使用map(int,input().split())
- 遇到说潜在的指针越界就是没有break
02
cpp
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a, b, n;
while(cin>>n){
for (int i = 0; i < n; ++i) {
cin >> a >> b;
cout << a + b << endl;
}
}
return 0;
}
#include <iostream>
using namespace std;
int main(){
int n;
int a,b;
while(cin>>n)
{
while(n>0){
cin>>a>>b;
cout<<a+b<<endl;
n--;
}
}
return 0;
}
python
try:
while True:
n = int(input()) # 输入行数
for _ in range(n):
a, b = map(int, input().split())
print(a + b)
except EOFError:
pass # 捕获EOFError异常,结束循环
注意:
- #include <bits/stdc++.h>是万能头文件
- python的单个循环可使用for _ in range(n):
03
cpp
#include <bits/stdc++.h>
int main(){
int a ,b ;
while(true){
std::cin>>a>>b;
if(a==0&&b==0)
break;
else
std::cout<<a+b<<std::endl;
}
return 0;
}
python
while True:
try:
a,b = map(int,input().split())
if a==b==0:
break
else:
print(a+b)
except EOFError:
pass
04
cpp
#include <iostream>
using namespace std;
int main(){
while(true){
int n;
cin>>n;
if (n==0)
break;
else
{
int a[n];
int sum=0;
for(int i=0;i<n;++i)
{
cin>>a[i];
sum = a[i]+sum;
}
cout<<sum<<endl;
}
}
return 0;
}
python
while True:
ls=input().split()
if int(ls[0]) == 0:
break
else:
nums = list(map(int,ls[1:]))
ans = sum(nums)
print(ans)
python
while True:
try:
nums = list(map(int,input().split()))
n = nums[0]
if n==0 :
break
else:
sum1=0
for i in range(1,n+1):
sum1=nums[i]+sum1
print(sum1)
except:
break
注意:
- python的列表 nums = list(map(int,ls[1:]))
- 可以使用sum函数
- for i in range() 是 Python 中的一个循环结构,用于迭代一定次数的操作。其中,range() 函数用于生成一个整数序列。
range() 函数的语法为:
range(stop)
range(start, stop[, step])
其中,start 表示序列的起始值(默认为0),stop 表示序列的终止值(不包括该值),step 表示序列的步长(默认为1)。
当 range() 函数只有一个参数时,它默认从0开始生成整数序列,其终止值为该参数减1。例如,range(5) 会生成一个包含5个整数的序列:0、1、2、3、4。
当 range() 函数有两个参数时,它从第一个参数指定的值开始生成整数序列,终止值为第二个参数指定的值减1。例如,range(2, 5) 会生成一个包含3个整数的序列:2、3、4。
当 range() 函数有三个参数时,它会按照第三个参数指定的步长生成整数序列。例如,range(0, 10, 2) 会生成一个包含5个整数的序列:0、2、4、6、8。
for i in range() 结构可以用于遍历 range() 函数生成的整数序列,对于每个整数,都会执行一次循环体中的操作。例如,下面的代码会输出从0到4的整数:
python
for i in range(5):
print(i)
输出结果为:
0
1
2
3
4
05
cpp
#include <iostream>
using namespace std;
int main()
{
int a,b;
while(cin>>a>>b)
{
cout<<a+b<<endl;
cout<<endl;
}
return 0;
}
python
try:
while True:
a, b = map(int, input().split())
print(a + b)
print()
except EOFError:
pass
注意:
- C++输出空行:cout<<endl;
- Python输出空行:print()或者print(' ')
06
cpp
#include <iostream>
using namespace std;
int main() {
int N;
cin >> N; // 读取N的值
for (int i = 0; i < N; ++i) {
int M;
cin >> M; // 读取M的值
int sum = 0;
for (int j = 0; j < M; ++j) {
int num;
cin >> num; // 读取M个整数
sum += num; // 累加每个整数
}
cout << sum << endl; // 输出M个整数的和
if (i != N - 1) {
cout << endl; // 每组输出之间输出一个空行,但最后一组不输出空行
}
}
return 0;
}
python
while True:
try:
n = int(input())
while n > 0:
n -= 1
nums = list(map(int,input().split()))
ans = sum(nums[1:])
print(ans)
if n != 0:
print()
except:
break
注意:
- 使用数组记得要先定义n,m并且获得输入,再定义数组。