пятница, 18 ноября 2022 г.

Результаты Командной олимпиады по программированию


18 ноября в рамках "Недели математики и информатики" состоялась Командная олимпиада по программированию среди учащихся 8-10 классов. Для олимпиады учащимися 11д класса были придуманы 14 задач. 

На олимпиаду зарегистрировались 4 команды из 8д, 9д, 9б классов. Победила команда "Python++" из учащихся 9Б класса:

  1. Борисенко Владислав 
  2. Шаповалов Юрий
  3. Журун Антон
Для всех желающих - можете решить эти задания, перейдя по ссылке https://contest.yandex.ru/contest/43131/enter/

воскресенье, 2 октября 2022 г.

Основные алгоритмы для успешного выполнения заданий ЕГЭ

Знание алгоритмов для ЕГЭ особенно важно, т.к. быстрый алгоритм позволит не задерживаться на конкретной задаче и быстро найти решение. Остановимся на алгоритмах с целыми числами:

  1. определение всех делителей натурального числа
  2. определение всех простых делителей натурального числа
  3. определение простоты натурального числа
  4. определение всех простых делителей до заданного N (решето Эратосфена)
  5. алгоритм Евклида для нахождение наибольшего общего делителя
  6. перевод из десятичной системы счисления в другую и  обратно
  7. определение цифр числа
  8. определение кратности числа
Для работы с массивами полезно знать алгоритмы:
  1. сортировка подсчетом
  2. быстрая сортировка, сортировка по двум и более критериям
  3. двоичный поиск
  4. последовательный поиск максимального/минимального элемента в массиве
  5. определение максимальной/минимальной частичной суммы последовательности
  6. определение наибольшей подпоследовательности подряд идущих элементов одинаковых, возрастающей, убывающей и по другим условиям

вторник, 12 октября 2021 г.

Задать разделитель при вводе

Иногда требуется считать данные, которые разделены не пробелом, а другим символом, например, точка в IP-адресе или слэш в дате и т.д. В Python за это отвечает функция split():

a,b,c,d = input().split('.')
day, mounth, year = input().split('/')

Как реализовать это в С++:

void vvodIP()
{
string a, b, c, d;
getline(cin, a, '.');
getline(cin, b, '.');
getline(cin, c, '.');
getline(cin, d, '\n');
cout << a << endl << b << endl << c << endl << d;
}

void vvodData()
{
int day, mounth, year;
char c;
cin >> day >> c >> mounth >> c >> year;
cout << day << endl << mounth << endl << year << endl;
}