Что может быть проще поиска суммы двух чисел? Для решения задачи не потребуется продвинутых навыков программирования, поэтому сфокусируем внимание на оформлении алгоритма и системе автоматической проверки.

Рассмотрим совсем простую задачу.

  • Входные данные: Целые числа и на одной строке (разделённые пробелом).
  • Выходные данные: Сумма и .
  • Ограничения: .
  • Пример

Ввод

Вывод

9 7

16

  • Ограничение по времени (с): 1 секунда
  • Ограничение по памяти: 512 Mb.

Поскольку задача решается в одно действие, шаг Спроектировать алгоритм мы пропустим и перейдём сразу к псевдокоду.

SumOfTwoDigits(a, b):
    return a + b

Так как псевдокод не уточняет ввод и , ниже мы приводим решения для языков C++, Java и Python3, а также рекомендации по компиляции и реализации. Вы можете скопировать и вставить код в файл, скомпилировать, запустить и протестировать с разными данными, а затем сдать исходный файл в систему проверки. Разумеется, мы рассчитываем, что вы знакомы с основами одного из языков программирования, который используется в нашей системе тестирования: C++, Python3, Java.

C++

#include <iostream>

int sum_of_digits(int first, int second) {
    return first + second;
}

int main() {
    int a = 0;
    int b = 0;
    std::cin >> a;
    std::cin >> b;
    std::cout << sum_of_digits(a, b);
    return 0;
}

Java

import java.util.Scanner;

class SumOfTwoDigits {
    static int sumOfTwoDigits(int first_digit, int second_digit) {
        return first_digit + second_digit;
    }

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

Python3

def sum_of_digits(first_digit, second_digit):
    return first_digit + second_digit

if __name__ == '__main__':
    a, b = map(int, input().split())
    print(sum_of_digits(a, b))

Ваша цель — реализовать алгоритм, который дает верный результат с ограничениями по времени и памяти и при любом вводе. Нет необходимости проверять, что входные данные соответствуют ограничениям: например, в задаче Сумма двух чисел вам не нужно следить за тем, чтобы целые числа и действительно были однозначными числами (это гарантировано).

Отмечайте параграфы как прочитанные чтобы видеть свой прогресс обучения

Вступайте в сообщество хендбука

Здесь можно найти единомышленников, экспертов и просто интересных собеседников. А ещё — получить помощь или поделиться знаниями.
Вступить
Сообщить об ошибке
Предыдущий параграф4.1. Практические задания с автоматической проверкой

Сформулируем чеклист решения алгоритмической задачи: от разбора условия до анализа вердикта системы проверки.

Следующий параграф4.3. Задача «Максимальное произведение»

Без ошибок практически невозможно написать программу. В этом параграфе мы рассмотрим подробнее, как их искать. А заодно поговорим о том, как подбирать корректные входные данные, чтобы проверить работоспособность алгоритма во всех сценариях.