Российские студенты выиграли международный чемпионат по программированию ICPC. Ученики петербургского университета...

1 15 3.9К
2 часов назад
В Избранное
Пост создан: 04-09-2025 21:36
Обновлено: 05-09-2025 00:10
Российские студенты выиграли международный чемпионат по программированию ICPC.
Ученики петербургского университета отправилась в Баку, чтобы принять участие в крупнейшей студенческой олимпиаде по программированию в мире — ICPC World Finals 2025. И победили!
В финал конкурса прошли команды из более чем 70 стран, представители 140 лучших университетов мира. Всего оказалось четыре золотых медали, а абсолютная победа досталась россиянам.
❤️ нашим ребятам!
Подпишись на Ленту.ру
  • Иван Васильевич

    Иван Васильевич

    И так каждый год!
    Вопрос откуда Уникумы в России тогда?
  • Артем Голубченко

    Артем Голубченко

    Так, стоп! Разве все светлые умы не уехали из России по Тбилисским квир-коммунам*)))
    • Лексей Иваныч

      Лексей Иваныч

      Артем, не скули, ¢ын крокодила и чумной собаки. Иначе придётся тебя усыпить.
      15 минуту назад 0 0 Пожаловаться
    • Лексей Иваныч

      Лексей Иваныч

      Артем, отрыжка пьяного крокодила. Рождён, чтобы мир смеялся.
      15 минуту назад 0 0 Пожаловаться
    • Артем Голубченко

      Артем Голубченко

      Лексей, опять приполз искать моего внимания? Всё лучшее от тебя осталось грязным пятном на матрасе который давно выбросили, можешь прекратить старания.
      45 минуту назад 0 0 Пожаловаться
    • Артем Голубченко

      Артем Голубченко

      Себастьян, Программист к месту не привязан, в целом пох где он там сидит.
      60 минуту назад 0 0 Пожаловаться
    • Себастьян Перейра

      Себастьян Перейра

      Артем, у этих ещё впереди этот путь не гони лошадей
      1 час назад 0 0 Пожаловаться
    • Лексей Иваныч

      Лексей Иваныч

      Артем, косорылый, иди спать. Твои мыслительные процессы сосредоточены в том месте, что пониже спины.
      Делали тебя по пьяни, и это были крокодилы.
      1 час назад 0 0 Пожаловаться
  • Маруся Д

    Маруся Д

    Талантливые люди у нас всегда были,есть и будут,,,важно создавать условия,чтобы такие ребята не уезжали.
  • Лев Рахманов

    Лев Рахманов

    Самая бесполезная специальность при попадании на необитаемый остров
  • Евгений Шевелев

    Евгений Шевелев

    Вот пример калькулятора на языке C, который использует массивы и рекурсию для вычисления арифметических выражений с учетом приоритета операторов и скобок:
    ```c
    #include #include #include #include
    #define MAX_EXPR_LEN 100
    // Рекурсивные функции для разбора выражения
    double parse_expression(char *expr, int [id78930|*index]);
    double parse_term(char *expr, int [id78930|*index]);
    double parse_factor(char *expr, int [id78930|*index]);
    // Пропуск пробелов
    void skip_spaces(char *expr, int [id78930|*index]) {
    while (expr[*index] == ' ') {
    ([id78930|*index])++;
    }
    }
    // Обработка числа
    double parse_number(char *expr, int [id78930|*index]) {
    double result = 0.0;
    double fraction = 1.0;
    int decimal = 0;

    skip_spaces(expr, index);

    while (expr[*index] != '\0' &&
    (isdigit(expr[*index]) || expr[*index] == '.')) {
    if (expr[*index] == '.') {
    decimal = 1;
    } else {
    if (decimal) {
    fraction /= 10.0;
    result += (expr[*index] - '0') * fraction;
    } else {
    result = result * 10.0 + (expr[*index] - '0');
    }
    }
    ([id78930|*index])++;
    }

    return result;
    }
    // Обработка фактора (число или выражение в скобках)
    double parse_factor(char *expr, int [id78930|*index]) {
    double result;
    skip_spaces(expr, index);

    if (expr[*index] == '(') {
    ([id78930|*index])++;
    result = parse_expression(expr, index);
    skip_spaces(expr, index);
    if (expr[*index] == ')') {
    ([id78930|*index])++;
    } else {
    printf("Ошибка: отсутствует закрывающая скобка\n");
    exit(1);
    }
    } else if (expr[*index] == '-') {
    ([id78930|*index])++;
    result = -parse_factor(expr, index);
    } else {
    result = parse_number(expr, index);
    }

    return result;
    }
    // Обработка терма (умножение и деление)
    double parse_term(char *expr, int [id78930|*index]) {
    double result = parse_factor(expr, index);
    skip_spaces(expr, index);

    while (expr[*index] == '*' || expr[*index] == '/') {
    char op = expr[*index];
    ([id78930|*index])++;
    double num = parse_factor(expr, index);

    if (op == '*') {
    result *= num;
    } else {
    if (num != 0.0) {
    result /= num;
    } else {
    printf("Ошибка: деление на ноль\n");
    exit(1);
    }
    }
    skip_spaces(expr, index);
    }

    return result;
    }
    // Обработка выражения (сложение и вычитание)
    double parse_expression(char *expr, int [id78930|*index]) {
    double result = parse_term(expr, index);
    skip_spaces(expr, index);

    while (expr[*index] == '+' || expr[*index] == '-') {
    char op = expr[*index];
    ([id78930|*index])++;
    double num = parse_term(expr, index);

    if (op == '+') {
    result += num;
    } else {
    result -= num;
    }
    skip_spaces(expr, index);
    }

    return result;
    }
    int main() {
    char expr[MAX_EXPR_LEN];
    int index = 0;

    printf("Введите арифметическое выражение: ");
    fgets(expr, MAX_EXPR_LEN, stdin);
    expr[strcspn(expr, "\n")] = '\0'; // Удаляем символ новой строки

    double result = parse_expression(expr, &index);
    printf("Результат: %.2f\n", result);

    return 0;
    }
    ```
    Как это работает:
    1. Рекурсивный спуск: Программа использует рекурсивные функции для разбора выражения с учетом приоритета операторов.
    2. Обработка чисел: Поддерживаются как целые, так и дробные числа.
    3. Приоритет операторов: Умножение и деление имеют приоритет над сложением и вычитанием.
    4. Скобки: Рекурсивная обработка вложенных выражений в скобках.
    5. Унарный минус: Поддерживается отрицательные числа.
    6. Пробелы: Программа игнорирует пробелы в выражении.
    Пример использования:
    ```
    Введите арифметическое выражение: (2 + 3) * 4 - 10 / 2
    Результат: 15.00
    ```
    Этот калькулятор обрабатывает основные арифметические операции и корректно работает с вложенными выражениями. Для простоты опущена обработка ошибок ввода (кроме проверки деления на ноль и скобок), но добавлены..

  • Коля Николай

    Коля Николай



Яндекс.Метрика