A+B

A+B, սպորտային ծրագրավորման մեջ հանդիսանում փորձնական խնդիր։ Այդ խնդիրն օգտագործվում է օլիմպիադաներում՝ մասնակիցների թեստային համակարգի հետ ծանոթացնելու համար։

Սովորաբար ծրագրավորման մրցաշարերի ժամանակ կազմակերպիչներն ընդհանրապես չեն նայում այդ ծրագրի կոդին։ Հատուկ թեստավորման համակարգը կոմպիլացնում է խնդրի լուծումը և մեկնարկում է դա նախապես պատրաստված թեստերով։ Եթե լուծումը անցնում է մուտքագրման թեստերով և հաջող արդյունք է ցույց տալիս, ապա խնդիրը համարվում էր լուծված։ Ընդ որում, մասնակիցը պետք է խստորեն հետևի օլիմպիադաների կանոններին, մուտքագրի և դուրս բերի ամբողջ տեղեկությունը ճիշտ ձևաչափով և չմիացնի ծրագրին տարբեր արգելված մոդուլներ (օրինակ՝ conio.h-ը)։

Օլիմպիադայի տևողությունը, որպես կանոն, շատ սահմանափակ է։ Եվ օլիմպիադայի սկզբում մասնակիցների մոտ ժամանակ չկա ստուգել թեստավորող համակարգի հնարավորությունները։ Մրցույթի սկզբում մասնակիցները պետք է կարողանան հեշտությամբ կառավարել թեստավորման համակարգը և նրա միջերեսը։ Որպեսզի մասնակիցներին ծանոթացնեն թեստավորման համակարգին մինչև հիմնական տուրը, անցկացվում է փորձնական տուր, որի ժամանակ մասնակիցներին առաջարկվում են պարզ խնդիրներ, որի լուծման համար անհրաժեշտ ալգորիթմները պարզունակ են։ Հաճախ փորձնական տուրի ժամանակ լինում է «A+B» խնդիրը։

Հասկանալի է, որ փորձնական փուլի ժամանակ կարող է լինել ցանկացած ուրիշ պարզ խնդիր։ Երբեմն փորձնական փուլի ժամանակ լինում են մի քանի պարզ խնդիրներ, որպեսզի մասնակիցները մուտքագրեն տարբեր տեսակի տվյալներ։ Փորձնական փուլի խնդիրների բարդությունը կարող է լինել «A+B» խնդրի հեշտության կամ ավելի բարդ, չնայած որ շատ բարդ խնդիրներ փորձնական փուլում չեն տեղադրում։

«A+B»-ն պատկանում է սպորտային ծրագրավորման այն սակավաթիվ խնդիրների շարքին, որոնք չունեն սյուժե։

Խնդրի պայմանները 
Տրված է երկու թիվ՝ A-ն և B-ն։ Պահանջում է գտնել նրանց գումարը․

Մուտքային տվյալներ 
Մուտքային հոսքում՝ միակ տողում բացատով գրված են երկու թվեր՝ A-ն և B-ն․

Ելքային տվյալներ 
Ելքային հոսքում պետք է մուտքագրել միակ ամբողջական թիվը՝ A և B թվերի գումարը։

Օրինակ

Խնդրի լուծումը

Լուծման ալգորիթմ 
«A+B» խնդրի լուծման ալգորիթմը իրենից ներկայացնում է գործողությունների պարզ հաջորդականություն։
Ալգորիթմը կարելի է կազմել հետևյալ կերպ․
 Հաշվել A-ն
 Հաշվել B-ն
 Գումարել A-ն և B-ն
 Արտածել ստացված գումարը

Այդ խնդրի լուծումները տարբեր ծրագրավորման լեզուներով

C ծրագրավորման լեզվով 
#include <stdio.h>

void main()
{
    int a, b;

    scanf("%d%d", &a, &b);
    printf("%d\n", a + b);
}

Պասկալ ծրագրավորման լեզվով 
program aplusb;
var a, b : longint;
begin
    Read(a, b);
    WriteLn(a + b);
end.

Ջավա ծրագրավորման լեզվով 
import java.util.Scanner;

public class AplusB {

	public static void main(String[] args) {
		Scanner scanner = new Scanner(System.in);
		int a = scanner.nextInt();
		int b = scanner.nextInt();
		System.out.println(a + b);
	}

}

C++ ծրագրավորման լեզվով 
#include <iostream>
using namespace std;
int main()
{
    int a, b;
    cin >> a >> b;
    cout << a + b;
    return 0;
}

С# ծրագրավորման լեզվով 
using System;

class Program
{
    static void Main()
    {
        string[] input = Console.ReadLine().Split(' ');
        Console.WriteLine(int.Parse(input[0]) + int.Parse(input[1]));
    }
}

Python 3 ծրագրավորման լեզվով 
a, b = map(int, input().split(' '))
print(a + b)

Perl ծրագրավորման լեզվով 
($a, $b) = split /\s/, <>; 
print $a + $b . "\n";

Common Lisp ծրագրավորման լեզվով 
(let ((a (read))
      (b (read))
  (format t "~a~%" (+ a b)))

Ruby ծրագրավորման լեզվով 
puts gets.split.map(&:to_i).inject(:+)

Haskel ծրագրավորման լեզվով 
main = print . sum . map read . words =<< getLine

AWK ծրագրավորման լեզվով 
{print $1+$2}

A+B խնդիրը տարբեր կայքերում 
 A+B Problem-ը Թամուսում
 A+B -ը Սարատովի պետական համալսարանի կայքում
 A+B -ը Սամարայի պետական համալսարանի կայքում
 A+B-ը Ծրագրավորողների դպրոցում

Ծանոթագրություններ 

Ծրագրավորման մրցույթներ