Рассмотрим совсем простую задачу.
- Входные данные: Целые числа и на одной строке (разделённые пробелом).
- Выходные данные: Сумма и .
- Ограничения: .
- Пример
Ввод |
Вывод |
9 7 |
16 |
- Ограничение по времени (с): 1 секунда
- Ограничение по памяти: 512 Mb.
Поскольку задача решается в одно действие, шаг Спроектировать алгоритм
мы пропустим и перейдём сразу к псевдокоду.
1SumOfTwoDigits(a, b):
2 return a + b
Так как псевдокод не уточняет ввод и , ниже мы приводим решения для языков C++
, Java
и Python3
, а также рекомендации по компиляции и реализации. Вы можете скопировать и вставить код в файл, скомпилировать, запустить и протестировать с разными данными, а затем сдать исходный файл в систему проверки. Разумеется, мы рассчитываем, что вы знакомы с основами одного из языков программирования, который используется в нашей системе тестирования: C++
, Python3
, Java
.
C++
1#include <iostream>
2
3int sum_of_digits(int first, int second) {
4 return first + second;
5}
6
7int main() {
8 int a = 0;
9 int b = 0;
10 std::cin >> a;
11 std::cin >> b;
12 std::cout << sum_of_digits(a, b);
13 return 0;
14}
Java
1import java.util.Scanner;
2
3class SumOfTwoDigits {
4 static int sumOfTwoDigits(int first_digit, int second_digit) {
5 return first_digit + second_digit;
6 }
7
8 public static void main(String[] args) {
9 Scanner s = new Scanner(System.in);
10 int a = s.nextInt();
11 int b = s.nextInt();
12 System.out.println(sumOfTwoDigits(a, b));
13 }
14}
Python3
1def sum_of_digits(first_digit, second_digit):
2 return first_digit + second_digit
3
4if __name__ == '__main__':
5 a, b = map(int, input().split())
6 print(sum_of_digits(a, b))
Ваша цель — реализовать алгоритм, который дает верный результат с ограничениями по времени и памяти и при любом вводе. Нет необходимости проверять, что входные данные соответствуют ограничениям: например, в задаче Сумма двух чисел
вам не нужно следить за тем, чтобы целые числа и действительно были однозначными числами (это гарантировано).