newcoder刷题笔记一


之前在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;
        }
    }  
}

链接:https://ac.nowcoder.com/acm/contest/5652/F

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

落花逐流水

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值