A+B问题

✍ dations ◷ 2024-12-23 17:02:00 #计算机编程,程序设计竞赛

A+B问题是一个基础的程序设计问题。通常是信息学在线评测系统用来测试提交和输入输出方法的题目。

输入两个数 A {\displaystyle A} B {\displaystyle B} (一般是在整数范围内),输出 A + B {\displaystyle A+B}

import java.util.*;public class AB {	public static void main(String args) {		Scanner sc=new Scanner(System.in);		int a,b;		a=sc.nextInt();		b=sc.nextInt();		System.out.println(a+b);	} //main end} //AB end

C

#include <stdio.h>int main(void){    int a, b;    scanf("%d %d", &a, &b);    printf("%d\n", a + b);    return 0;}

C++

#include <iostream>int main(){    int a, b;    std::cin >> a >> b;    std::cout << a + b << std::endl;    return 0;}

#include <iostream>using namespace std;int main(){    int a, b;    cin >> a >> b;    cout << a + b << endl;    return 0;}

Pascal

var a,b:longint;begin    readln(a,b);    writeln(a+b)end.

Ruby

gets.strip.split.map(&:to_i).reduce(:+)

Python

适用于 Python 3 :

print(sum(map(int, input().split())))

Fortran

PROGRAM P1000		IMPLICIT NONE		INTEGER :: A, B		READ(*,*) A, B		WRITE(*, "(I0)") A + B	END PROGRAM P1000

要注意的问题

  1. 在有的版本的A+B问题中,虽然输入的A和B都在整数的范围之内,结果A+B的值不一定也在这个范围。这时候就要使用数值范围更广的数据类型。以至于使用高精度算法。
  2. 这个题库可能会使用特殊的输入输出方法(例如文件输入),也可能要求提交的时候加入一些附加信息,如果没在这个题库做过题目也没有看帮助,或者以前完全没有使用文件的经验,这可能出错。
  3. 另外对于一些不自带数字输入输出功能的语言(例如Brainfuck),自己写数字输入输出可能也是比较困难的地方。

扩展

而这道题目的扩展通常是加入数据范围之类的陷阱,如高精度加法、不使用十进制或 A {\displaystyle A} B {\displaystyle B} 的其中一个夹带数字如:“AA123BB”等。

相关