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

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

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

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

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

Խնդրի պայմանները խմբագրել

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

Մուտքային տվյալներ խմբագրել

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

 

Ելքային տվյալներ խմբագրել

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

Օրինակ խմբագրել

Տվյալներ Արդյունք
2 2 4
3 2 5

Խնդրի լուծումը խմբագրել

Լուծման ալգորիթմ խմբագրել

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

  1. Հաշվել A-ն
  2. Հաշվել B-ն
  3. Գումարել A-ն և B-ն
  4. Արտածել ստացված գումարը

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

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 խնդիրը տարբեր կայքերում խմբագրել

Ծանոթագրություններ խմբագրել