之前在newcoder上简单刷过几道题,因为没什么经验都是网上搜来的答案,现在汇总一下,以便将来参考。
1、计算a+b
输入描述:
输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据包括多组。
输出描述:
输出a+b的结果
示例1
输入
1 5
10 20
输出
6
30
Python3 脚本
while True:
try:
a,b = input().split()
a = int(a)
b = int(b)
print(a+b)
except:
break
c++ 程序
#include <iostream>
using namespace std;
int main() {
int a, b;
while (cin >> a >> b) {
cout << a + b << endl;
}
return 0;
}
2、A+B(2)
输入描述:
输入第一行包括一个数据组数t(1 <= t <= 100)
接下来每行包括两个正整数a,b(1 <= a, b <= 10^9)
输出描述:
输出a+b的结果
示例1
输入
2
1 5
10 20
输出
6
30
Python3 实现
n = int(input())
for i in range(n):
a, b = input().split()
c = int(a) + int(b)
print(c)
C++ 实现
#include <iostream>
using namespace std;
int main() {
int a, b, c;
int n;
cin >> n;
for(int i = 0; i < n; i++)
{
cin >> a >> b;
c = a + b;
cout<< c << endl;
}
return 0;
}
3、A+B(3)
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
题目描述
计算a+b
输入描述:
输入包括两个正整数a,b(1 <= a, b <= 10^9),输入数据有多组, 如果输入为0 0则结束输入
输出描述:
输出a+b的结果
示例1
输入
1 5
10 20
0 0
输出
6
30
Python3 实现
while True:
a, b = input().split()
a, b = int(a), int(b)
c = a + b
if c == 0:
break
print(c)
c++实现
#include <iostream>
using namespace std;
int main() {
int a, b, c;
while (cin >> a >> b) {
if(a == 0 && b == 0) break;
cout << a + b << endl;
}
return 0;
}
4、A+B(4)
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 262144K,其他语言524288K
64bit IO Format: %lld
题目描述
计算一系列数的和
输入描述:
输入数据包括多组。
每组数据一行,每行的第一个整数为整数的个数n(1 <= n <= 100), n为0的时候结束输入。
接下来n个正整数,即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果
示例1
输入
4 1 2 3 4
5 1 2 3 4 5
0
输出
10
15
Python3 实现
while True:
try:
arr = list(map(int, input().split()))
if arr[0] > 0:
print(sum(arr[1:]))
except:
break
c++ 实现
#include <iostream>
using namespace std;
int main() {
int n;
while(cin >> n)
{
if(n == 0) break;
int sum = 0;
while(n--)
{
int tmp = 0;
cin >> tmp;
sum += tmp;
}
cout << sum << endl;
}
return 0;
}
或
#include <stdio.h>
int main()
{
int a;
int b;
int c=0;
while (scanf("%d", &a) != EOF) {
if (a == 0)
{
return 0;
}
c = 0;
for (int i=0; i < a; i++)
{
scanf("%d", &b);
c = c + b;
}
printf("%d\n", c);
}
}
或
#include <string>
#include <iostream>
using namespace std;
int main() {
string str;
while(getline(cin, str)) {
if(str=="0") {
break;
}
int idx = str.find(" ");
int count = atoi(str.substr(0, idx).c_str());
int sum = 0;
while(count-->=0){
int next = str.find(" ", idx+1);
if(next==-1){
next = str.length();
}
string tmp = str.substr(idx, next-idx+1);
sum += atoi(tmp.c_str());
idx = next;
}
cout << sum << endl;
}
}
5、A+B(5)
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
题目描述
计算一系列数的和
输入描述:
输入的第一行包括一个正整数t(1 <= t <= 100), 表示数据组数。
接下来t行, 每行一组数据。
每行的第一个整数为整数的个数n(1 <= n <= 100)。
接下来n个正整数, 即需要求和的每个正整数。
输出描述:
每组数据输出求和的结果
示例1
输入
2
4 1 2 3 4
5 1 2 3 4 5
输出
10
15
Python3实现
n = int(input())
for i in range(n):
arr = list(map(int, input().split()))
print(sum(arr[1:]))
C++实现
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
while(n--)
{
int m = 0;
int sum = 0;
cin >> m;
while(m--)
{
int tmp = 0;
cin >> tmp;
sum += tmp;
}
cout << sum << endl;
}
return 0;
}
或
#include <stdio.h>
int main()
{
int t;
int n;
int sum = 0;
int tmp = 0;
scanf("%d", &t);
{
for (int i=0; i<t; i++)
{
scanf("%d", &n);
for (int j=0; j<n; j++)
{
scanf("%d", &tmp);
sum += tmp;
}
printf("%d\n", sum);
sum = 0;
}
}
}