Решу егэ инфа 17 задание


Пройти тестирование по этим заданиям
Вернуться к каталогу заданий

Версия для печати и копирования в MS Word

1

Некоторый сегмент сети Интернет состоит из 1000 сайтов. Поисковый сервер в автоматическом режиме составил таблицу ключевых слов для сайтов этого сегмента. Вот ее фрагмент:

Ключевое слово Найдено страниц
сканер 200
принтер 250
монитор 450

Сколько сайтов будет найдено по запросу «(принтер | сканер) & монитор», если по запросу «принтер | сканер» было найдено 450 сайтов, по запросу «принтер & монитор»  — 40, а по запросу «сканер & монитор»  — 50.


2

В таблице приведены запросы и количество страниц, которые нашел поисковый сервер по этим запросам в некотором сегменте Интернета:

Запрос Количество страниц
(тыс.)
торты | пироги 12000
торты & пироги 6500
пироги 7700

Сколько страниц (в тысячах) будет найдено по запросу торты


3

Некоторый сегмент сети Интернет состоит из 5000 сайтов. Поисковый сервер в автоматическом режиме составил таблицу ключевых слов для сайтов этого сегмента. Вот ее фрагмент:

Ключевое слово Количество сайтов,для которых
данное слово является ключевым
принтеры 400
сканеры 300
мониторы 500

Сколько сайтов будет найдено по запросу (принтеры | мониторы) & сканеры

если по запросу принтеры | сканеры было найдено 600 сайтов,

по запросу принтеры | мониторы – 900,

а по запросу сканеры | мониторы – 750.


4

В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для логической операции «И» — символ «&». В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.

Запрос Найдено страниц
(в тысячах)
Лебедь & (Рак | Щука) 320
Лебедь & Рак 200
Лебедь & Рак & Щука 50

Какое количество страниц (в тысячах) будет найдено по запросу

Лебедь & Щука

Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.


5

В языке запросов поискового сервера для обозначения логической операции «ИЛИ» используется символ «|», а для логической операции «И» – символ «&».

В таблице приведены запросы и количество найденных по ним страниц некоторого сегмента сети Интернет.

Запрос Найдено страниц
(в тысячах)
Пекин & (Москва | Токио) 338
Пекин & Москва 204
Пекин & Москва & Токио 50

Какое количество страниц (в тысячах) будет найдено по запросу Пекин & Токио?

Считается, что все запросы выполнялись практически одновременно, так что набор страниц, содержащих все искомые слова, не изменялся за время выполнения запросов.

Пройти тестирование по этим заданиям

На уроке рассмотрен материал для подготовки к ЕГЭ по информатике, разбор 17 задания. Объясняется тема о программной обработке числовой информации.

Содержание:

  • ЕГЭ по информатике 17 задания объяснение
  • Выполнение 17 задания ЕГЭ
    • Работа с цифрами числа в n-й системе счисления

17-е задание: «Программная обработка целочисленной информации»

Уровень сложности

— повышенный,

Требуется использование специализированного программного обеспечения

— да,

Максимальный балл

— 1,

Примерное время выполнения

— 15 минут.

  
Проверяемые элементы содержания: Умение создавать собственные программы (20–40 строк) для обработки целочисленной информации

Выполнение 17 задания ЕГЭ

Плейлист видеоразборов задания на YouTube:

Задание демонстрационного варианта 2022 года ФИПИ


17_1: Демоверсия варианта ЕГЭ по информатике 2021, ФИПИ:

Рассматривается множество целых чисел, принадлежащих числовому отрезку [1016; 7937], которые делятся на 3 и не делятся на 7, 17, 19, 27. Найдите количество таких чисел и максимальное из них.
В ответе запишите два целых числа: сначала количество, затем максимальное число.

! Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц

  
Типовые задания для тренировки

Ответ: 1568 | 7935

 
Видео

✍ Решение:

    ✎ Решение с использованием программирования:

    Паскаль:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    var
      i, k, max: integer;
     
    begin
      k := 0;
      max := 0;
      for i := 1016 to 7937 do 
      begin
        if (i mod 3 = 0) and (i mod 7 > 0) and (i mod 17 > 0) and (i mod 19 > 0) and (i mod 27 > 0) then
        begin
          max:= i;
          inc(k);
        end;
      end;
      writeln(k, ' ', max)
    end.

    PascalABC.NET:

    1
    2
    3
    4
    
    begin
     var s := Range( 1017, 7937, 3).Where( i -> not i.DivsAny(7, 17, 19, 27) );
     print( s.Count, s.Max );            
    end.

    Python:

    1
    2
    3
    
    a = [n for n in range(1016,7937+1) 
         if (n%3==0 and n%7!=0 and n%17!=0 and n%19!=0 and n%27!=0)]
    print(len(a),max(a))

    Список a формируем, используя генератор списка: то есть в список попадут только не числа из диапазона [1016,7937], которые удовлетворяют всем перечисленным условиям: n%3==0 (число делится на 3), n%7!=0 (число не делится на 7) и т.п.

    C++:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    
    #include <iostream>
    int main()
    {
      int count = 0;
      int maxGood = 0;
      for(int n=1016; n<=7937; n++)
        if( (n % 3 == 0) and (n % 7 != 0) and 
            (n % 17 != 0) and (n % 19 != 0) and (n % 27 != 0) ) {
          maxGood = n;    
          count += 1;
          }  
      std::cout << count << " " << maxGood;
    }

    ✎ Решение с помощью Excel:

  • Первое значение диапазона введем в ячейку A1:
  • Используем прогрессию для заполнения всего диапазона числами. Для это выберите вкладку Главная и щелкните по кнопке Прогрессия:
  • Столбец B будем использовать для поиска чисел, которые делятся на 3. Для этого в ячейку B1 введите формулу с рисунка:
  • Двойным щелчком по маркеру заполнения скопируйте формулу на весь столбец:
  • Столбец С будем использовать для поиска чисел, которые НЕ делятся на 7. Для этого в ячейку С1 введите формулу с рисунка:
  • Заполните весь столбец двойным щелчком по маркеру заполнения.
  • Cтолбцы D, E, F таким же образом будем использовать для поиска чисел столбца А, которые не делятся на 17, 19 и 27
  • Для поиска всех истинных значений используем столбец G. В ячейку G1 введите функцию ЕСЛИ: если все значения ячеек в столбцах B-F в этой строке истинны, выводим число из А1, иначе – пустую строку:

  • Заполните весь столбце, используя маркер автозаполнения.

  • Ячейку H1 будем использовать для подсчета таких чисел, которые удовлетворяют всем условиям, т.е. для подсчета непустых ячеек столбца G:
  • Ячейку H2 будем использовать для подсчета такого наибольшего числа:

Видеоразбор 17 задания ЕГЭ:
📹 YouTube здесь

Видеорешение на RuTube здесь


Работа с цифрами числа в n-й системе счисления

17_2:

Рассматривается множество целых чисел, принадлежащих числовому отрезку [3712; 8432], которые удовлетворяют следующим условиям:
− запись в двоичной и четверичной системах счисления заканчивается одинаковой цифрой;
− кратны 13, 14 или 15.

Найдите количество таких чисел и минимальное из них.

! Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц

  
Типовые задания для тренировки

Ответ: 471   3720
✍ Решение:

✎ Решение с использованием программирования:

Паскаль:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
var
 var k, n, min:integer;
 
begin
  k:=0; min:=8433;
  for n:= 3712 to 8432 do
    if (n mod 2 = n mod 4) and ((n mod 13=0) or (n mod 14=0) or (n mod 15=0)) then
      begin
        if min>n then
        min:=n;
        k:=k+1;
      end;
      Writeln (k,' ',min);
End.

PascalABC.NET:

1
2
3
4
5
6
7
begin
 var s := Range( 3712, 8432)
   .Where(i -> ((i mod 13=0) or (i mod 14=0) or (i mod 15=0)) and (i mod 2 = i mod 4));
    // или: .Where( i -> (i.DivsAny(13,14,15)) and (i mod 2 = i mod 4));
 s.Count.Print;
 s.Min.Print;  
end.

Python:

1
2
L = [x for x in range(3712, 8432+1) if (x % 13 == 0 or x % 14 == 0 or x % 15 == 0) and ( x % 2 == x % 4)]
print(len(L),' ',L[0])

Формируем список (массив) L только из подходящих элементов, то есть удовлетворяющих всем, перечисленным в задании, условиям. Затем выводим длину списка (len(L)), т.е. найденное количество таких чисел, и нулевой элемент, он же минимальный, поскольку числа упорядочены по возрастанию (L[0])

C++:

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
int main()
{
	int count = 0;
	int min = 8433;
	for (int n = 3712; n <= 8432; n++)
		if (((n % 2 == n % 4) && ((n % 13 == 0) || (n % 14 == 0) || (n % 15 == 0))) )
		{
			if (n < min) min = n;
			count += 1;
		}
	std::cout << count << " " << min;
}

✎ Решение с помощью Excel:

  • Первое значение диапазона введем в ячейку A1:
  • Используем прогрессию для заполнения всего диапазона числами. Для это выберите вкладку Главная и щелкните по кнопке Прогрессия:
  • Столбец B будем использовать для поиска чисел, которые кратны 13, 14 или 15. Для этого в ячейку B1 введите формулу с рисунка:
  • Двойным щелчком по маркеру заполнения скопируйте формулу на весь столбец:
  • Столбец С будем использовать для поиска чисел, запись которых в двоичной и четверичной системах счисления заканчивается одинаковой цифрой. Для этого в ячейку С1 введите формулу с рисунка:
  • Заполните весь столбец двойным щелчком по маркеру заполнения.
  • Для поиска всех истинных значений используем столбец D. В ячейку D1 введите функцию ЕСЛИ: если все значения ячеек в столбцах B, C в этой строке истинны, выводим число из А1, иначе – пустую строку:
  • Заполните весь столбце, используя маркер автозаполнения.
  • Ячейку E1 будем использовать для подсчета таких чисел, которые удовлетворяют всем условиям, т.е. для подсчета непустых ячеек столбца D:
  • Ячейку E2 будем использовать для подсчета такого наименьшего числа (или просмотрите столбец D визуально и найдите первое значение):

  • 17_3:

    Рассматривается множество целых чисел, принадлежащих числовому отрезку [1000; 9999], запись которых в пятеричной системе имеет не менее 6 цифр и заканчивается на 21 или 23.

    Найдите количество таких чисел и минимальное из них.

    ! Для выполнения этого задания можно написать программу или воспользоваться редактором электронных таблиц

    Ответ: 550   3136

    ✍ Решение:

    ✎ Решение с использованием программирования:

    PascalABC.NET:

    1
    2
    3
    4
    5
    6
    
    ### uses school;
    var s := Range(1000, 9999)
       .Where(i -> (i.ToString.ToBase(5).Length=6) and (i div 5 mod 5 = 2)
           and((i mod 5 = 1) or (i mod 5 = 3)));
    s.Count.Print;
    s.Min.Print;

    Python:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    
    numb=''
    result=list()
    for i in range(1000, 9999+1):
        if ((i // 5) % 5 ==2) and (( i % 5 == 1) or ( i % 5 == 3)):
            while i>=5: #Цикл перевода числа из 10-й в 5-ю сс
                s=i%5
                numb=str(s)+numb
                i=i//5
                if i<5:
                    numb=str(i)+numb
            n=len(numb)
            if n>5:
                result.append(numb) # список из чисел в 5-й с.с
            numb=""
    kolvo=len(result)
    minNumb=int(min(result),5) # перевод в десятичную с.с и поиск min
    print(kolvo,minNumb)

    Привет! Сегодня поговорим о 17 задании ЕГЭ по информатике 2022.

    В 17 задании нужно считать числа из файла, проанализировать их и ответить на вопрос задачи.

    Будем решать задание на языке Python.

    Задача (Минимальное значение)

    В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10000 до 10000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых оба числа делятся нацело на 7, затем минимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два подряд идущих элемента последовательности. Например для последовательности из пяти элементов: 7; 14; 21; -7; 4 — ответ 3 14.

    Решение:

    Напишем программу на языке Python.

    f=open('17_1.txt')
    
    count=0
    sm=20000
    
    n1=int(f.readline())
    
    for s in f.readlines():
        n2=int(s)
    
        if n1%7==0 and n2%7==0:
            count=count+1
            sm=min(n1+n2, sm)
        
        n1=n2
    
    print(count)
    print(sm)
    

    В начале подвязываемся к файлу с помощью команды open().

    Переменная count отвечает за количество пар, удовлетворяющих условию задачи. Переменная sm — это минимальная сумма элементов подходящих пар.

    В начале в переменную sm кладём максимальное число, которое теоретически может получится (10000 + 10000). Это делается для того, чтобы это значение можно было легко «победить» при поиске минимального значения.

    Затем считываем в переменную n1 первое число. C помощью конструкции «for s in f.readlines():» можно перебрать остальные числа из файла. В цикле считываем второе число для пары в переменную n2.

    После того, как два числа у нас есть, мы анализируем эти элементы на условие задачи. Если одновременно два числа из пары делятся на 7, то мы подсчитываем такую пару.

    Если пара подходит, то проверяем сумму элементов этой пары на минимальность. В переменную sm заносится минимальное значение из прежнего значения sm и претендующего нового значения n1+n2.

    В конце цикла нужно переложить второе число в переменную n1, чтобы очередное число из файла считалось в переменную n2. Тем самым мы получим новую пару чисел.

    Ответ:

    Задача (Проверяем на что оканчивается число)

    В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10000 до 10000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых оба числа оканчиваются или на 3, или на 5 (можно неодновременно), затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два подряд идущих элемента последовательности. Например для последовательности из пяти элементов: 3; 15; 25; -3; 4 — ответ 3 40.

    Решение:

    f=open('17_2.txt')
    
    count=0
    sm=-20000
    
    n1=int(f.readline())
    
    for s in f.readlines():
        n2=int(s)
    
        if (abs(n1)%10==3 or abs(n1)%10==5) and (abs(n2)%10==3 or abs(n2)%10==5):
            count=count+1
            sm=max(n1+n2, sm)
        
        n1=n2
    
    print(count)
    print(sm)
    

    Т.к. мы ищем максимальную сумму, то в начале в переменную sm кладём наоборот минимальное значение (-10000-10000=-20000).

    Когда ищем на что оканчивается положительное число, мы применяем конструкцию x%10. Т.е. находим остаток от деления на 10. Пример: 16 % 10 = 6. Но для отрицательных чисел это не работает -16 % 10 = 4. Почему такой ответ получается, можете посмотреть в этом видео: https://www.youtube.com/watch?v=BRfgE3pP0_c. Поэтому, чтобы правильно найти на что оканчивается число, применяем функцию abs(), что означает модуль числа.

    Здесь мы должны логические выражения для первого и второго числа взять в скобки, потому что логическая операция И имеет приоритет перед ИЛИ.

    Ответ:

    Задача (Полный квадрат)

    В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10000 до 10000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых хотя бы одно число является полным квадратом некоторого натурального числа, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два подряд идущих элемента последовательности. Например для последовательности из пяти элементов: 9; 15; 23; -3; 4 — ответ 2 24.

    Решение:

    f=open('17_3.txt')
    
    count=0
    sm=-20000
    
    n1=int(f.readline())
    
    for s in f.readlines():
        n2=int(s)
    
        if (n1>0 and (int(n1 ** 0.5) ** 2) == n1) or (n2>0 and (int(n2 ** 0.5) ** 2) == n2) :
            count=count+1
            sm=max(n1+n2, sm)
        
        n1=n2
    
    print(count)
    print(sm)
    

    Здесь мы извлекаем корень из числа с помощью возведения в степень 0.5. Округляем результат в меньшую сторону с помощью функции int(). А затем снова возводим в квадрат. Если мы получили изначальное число, значит, это число и есть полный квадрат некоторого натурального числа.

    Возведение в степень в 0.5 работает и для отрицательных чисел. Т.к. в задаче имеют ввиду квадраты натуральных чисел, то мы работаем только с числами, которые больше нуля.

    Ответ:

    Задача (Тройки чисел)

    (А. Кабанов) В файле 17-3.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество троек элементов последовательности, в которых числа расположены в порядке возрастания, затем минимальную из разностей наибольшего и наименьшего элементов таких троек. В данной задаче под тройкой подразумевается три идущих подряд элемента последовательности.

    Источник задачи: https://kpolyakov.spb.ru/

    Решение:

    f=open('17-3.txt')
    
    count=0
    rz=20000
    
    n1=int(f.readline())
    n2=int(f.readline())
    
    for s in f.readlines():
        n3 = int(s)
    
        if n1 < n2 < n3:
            count=count+1
            mx = max(n1, n2, n3)
            mn = min(n1, n2, n3)
            rz = min(rz, mx-mn)
    
        n1=n2
        n2=n3
    
    
    print(count, rz)
    

    С тройками решаем аналогично. До цикла считываем два числа. Внутри цикла считываем третье число.

    В конце цикла перекладываем числа: второе число в n1, третье число в n2.

    Ответ:

    Задача (Любой порядок элементов)

    В файле содержится последовательность из 10 000 целых положительных чисел. Каждое число не превышает 10 000. Определите и запишите в ответе сначала количество пар элементов последовательности, у которых сумма элементов кратна 9, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два различных элемента последовательности. Порядок элементов в паре не важен.

    Источник задачи: https://inf-ege.sdamgia.ru/

    Решение:

    Первый способ (Красивый).

    f = open('17.txt')
    
    count_0 = 0
    count_1 = 0
    count_2 = 0
    count_3 = 0
    count_4 = 0
    count_5 = 0
    count_6 = 0
    count_7 = 0
    count_8 = 0
    
    
    mx1_0 = 0
    mx2_0 = 0
    mx_1 = 0
    mx_2 = 0
    mx_3 = 0
    mx_4 = 0
    mx_5 = 0
    mx_6 = 0
    mx_7 = 0
    mx_8 = 0
    
    
    for s in f.readlines():
        n=int(s)
    
        if n%9==0:
            count_0 = count_0 + 1
    
            if n>mx1_0:
                if n>mx2_0:
                    mx1_0 = mx2_0
                    mx2_0 = n
                else:
                    mx1_0 = n
    
        if n%9==1:
            count_1 = count_1 + 1
            mx_1 = max(mx_1, n)
    
        if n%9==2:
            count_2 = count_2 + 1
            mx_2 = max(mx_2, n)
    
        if n%9==3:
            count_3 = count_3 + 1
            mx_3 = max(mx_3, n)
    
        if n%9==4:
            count_4 = count_4 + 1
            mx_4 = max(mx_4, n)
    
        if n%9==5:
            count_5 = count_5 + 1
            mx_5 = max(mx_5, n)
    
        if n%9==6:
            count_6 = count_6 + 1
            mx_6 = max(mx_6, n)
    
        if n%9==7:
            count_7 = count_7 + 1
            mx_7 = max(mx_7, n)
    
        if n%9==8:
            count_8 = count_8 + 1
            mx_8 = max(mx_8, n)
    
    
    count = (count_1*count_8) + (count_2*count_7)  + (count_3*count_6) + (count_4*count_5) + (count_0*(count_0-1)//2)
    mx = max(mx_1 + mx_8, mx_2 + mx_7, mx_3 + mx_6, mx_4 + mx_5, mx1_0 + mx2_0)
    
    print(count, mx)
    

    Здесь мы ищем количество элементов, у которых остаток при делении на 9 равен нулю, единице, двойке, … и до 8. Подсчитываем эти данные соответственно в переменные count_0, count_1, count_2 … и т.д.

    Так же находим максимальное число, которое имеет при делении на 9 остаток равный единице, двойке, … и т.д. Для чисел, которые имеют остаток при делении на 9 ноль, находим два максимальных числа.

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

    Если, к примеру, взять число для которого остаток равен 1 и число для которого остаток равен 8, то их сумма будет делится на 9. Найдём количество пар, если нам известно количество и тех, и тех чисел.

    ЕГЭ по информатике 2022 - задание 17 (Числа не по порядку)

    Значит, просто нужно перемножить два числа, к примеру, count_1*count_8.

    Для чисел, которые делятся на 9 (т.е. остаток равен нулю), количество пар считается немного по-другому. Такие числа можно суммировать между собой, всё равно сумма тоже будет делится на 9. Путь есть у нас количество чисел count_0, которые делятся на 9. Тогда найдём количество пар, которые можно составить из этих элементов.

    Здесь вспомним метод умножения, о котором было написано в этой статье.

    ЕГЭ по информатике 2022 - задание 17 (Числа не по порядку)

    Найдём количество таких пар, если каждый элемент можно использовать 1 раз. Получается count_0*(count_0-1). Но т.к. в нашем случае пара, когда элементы находятся в одном порядке и в обратном, является одной и той же, то нужно это количество поделить на 2. Т.е количество пар будет (count_0*(count_0-1))/2.

    Второй способ (Перебор).

    f = open('17.txt')
    
    count=0
    mx=0
    
    a = []
    
    #Считываем все числа в массив a
    for s in f.readlines():
        n = int(s)
        a.append(n)
    
    # Перебираем все варианты и подсчитываем пары, отвечающие условию задачи.
    for i in range(0, len(a)):
        for j in range(i+1, len(a)):
            if (a[i]+a[j])%9==0:
                count = count + 1
                mx = max(a[i]+a[j], mx)
        
    
    print(count, mx)
    

    В этом решении сначала считываем все числа в массив a.

    Далее берём число и начинаем его комбинировать со всеми числами, которые стоят после этого числа. Таким образом, мы переберём все возможные комбинации, и у нас не будут пары повторяться.

    Ответ:

    ЕГЭ информатика 17 задание разбор, теория, как решать.

    Создание программы для обработки целочисленной информации. Проверка на делимость. (П) — 1 балл

    Е17.43 только одно число оканчивается на 3, а сумма квадратов

    В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите количество пар последовательности, в которых только одно число оканчивается на 3, а сумма квадратов элементов пары не меньше квадрата максимального элемента последовательности, оканчивающегося на 3. В ответе запишите два числа: сначала количество найденных пар, затем …

    Читать далее

    Е17.42 а модуль их разности меньше наименьшего чётного элемента последовательности

    Файл содержит последовательность неотрицательных целых чисел, не превышающих 10 000. Назовём парой два идущих подряд элемента последовательности. Определите количество пар, в которых ровно один из двух элементов делится на 5, а модуль их разности меньше наименьшего чётного элемента последовательности. В ответе запишите два числа: сначала количество найденных пар, а затем – максимальный модуль разности элементов …

    Читать далее

    Е17.41 в которых хотя бы одно число делится на 11

    В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые — значения от —10 000 до 10 000 включительно. Определите количество пар последовательности, в которых хотя бы одно число делится на 11, а сумма элементов пары не более максимального элемента последовательности, кратного 11. В ответе запишите количество найденных пар, затем максимальную из сумм элементов …

    Читать далее

    Е17.40 один из двух элементов делится на 3, а другой меньше среднего арифметического

    Файл содержит последовательность неотрицательных целых чисел, не превышающих 10 000. Назовём парой два идущих подряд элемента последовательности. Определите количество пар, в которых один из двух элементов делится на 3, а другой меньше среднего арифметического всех чётных элементов последовательности. В ответе запишите два числа: сначала количество найденных пар, а затем – максимальную сумму элементов таких пар. …

    Читать далее

    Е17.39 ровно одно число делится на 9, а другое при этом заканчивается на 3

    В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от -10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых ровно одно число делится на 9, а другое при этом заканчивается на 3 в восьмеричной системе счисления. Затем — максимальное число в паре среди …

    Читать далее

    Е17.38 хотя бы один из двух элементов делится на 3, а их сумма делится на 5

    Файл содержит последовательность неотрицательных целых чисел, не превышающих 10 000. Назовём парой два идущих подряд элемента последовательности. Определите количество пар, в которых хотя бы один из двух элементов делится на 3, а их сумма делится на 5. В ответе запишите два числа: сначала количество найденных пар, а затем – максимальную сумму элементов таких пар. Например, …

    Читать далее

    Е17.37 хотя бы один из двух элементов делится на 7 и не делится на 3 и 11

    В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Определите количество пар, в которых оба элемента больше, чем среднее арифметическое всех чисел в файле, и хотя бы один из двух элементов делится на 7 и не делится на 3 и 11. В ответе запишите два числа: сначала …

    Читать далее

    Е17.36 десятичная запись хотя бы одного из двух элементов содержит цифру 5

    В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Определите количество пар, в которых хотя бы один из двух элементов меньше, чем среднее арифметическое всех чисел в файле, и десятичные записи обоих элементов содержат цифру 5. В ответе запишите два числа: сначала количество найденных пар, а затем – …

    Читать далее

    Е17.35 оба элемента меньше, чем среднее арифметическое всех чисел в файле, а их сумма оканчивается на 17

    В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Определите количество пар, в которых оба элемента больше, чем среднее арифметическое всех чисел в файле, а их сумма оканчивается на 17. В ответе запишите два числа: сначала количество найденных пар, а затем – минимальную сумму элементов таких …

    Читать далее

    Е17.34 один из двух элементов заканчивается на 19, а их сумма делится на 2

    В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите количество пар, в которых хотя бы один из двух элементов заканчивается на 19, а их сумма делится на 2. В ответе запишите два числа: сначала количество найденных пар, а затем – максимальную сумму элементов таких …

    Читать далее

    За это задание ты можешь получить 1 балл. На решение дается около 2 минут. Уровень сложности: повышенный.
    Средний процент выполнения: 70.9%
    Ответом к заданию 17 по информатике может быть цифра (число) или слово.

    Разбор сложных заданий в тг-канале

    Задачи для практики

    Задача 1

    В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите количество пар последовательности, в которых одно число кратно 5, а другое кратно 7. В ответе запишите подряд два числа без разделителей: максимальную сумму внутри пары, а затем количество чисел в найденных парах (если одно число встречается в нескольких парах, учитываем его несколько раз). В данной задаче под парой подразумевается два числа стоящие на разных позициях элемента последовательности. Порядок расположения чисел в паре неважен.

    Решение
    a = []
    f = open('17.txt', 'r')
    for line in f:
        a.append(int(line))
    
    k = 0
    max_sum = -20001
    for i in range(len(a)):
        for j in range(i, len(a)):
            if i != j:
                if (a[i] % 5 == 0 and a[j] % 7 == 0) or (a[j] % 5 == 0 and a[i] % 7 == 0):
                    k += 1
                    max_sum = max(max_sum, a[i] + a[j])
    
    print(max_sum, k * 2, sep='')
    

    Ответ: 199521142604

    Задача 2

    В файле содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от –10 000 до 10 000 включительно. Определите количество пар последовательности, в которых хотя бы одно число делится на 4, а сумма элементов пары не более максимального элемента последовательности, кратного 5. В ответе запишите подряд два числа без разделителей: количество найденных пар, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

    Решение

    Нам тут тоже необходимо выполнить 2 прохода, поэтому при первом проходе сохраним всё в список и найдём максимальное число

    a = []
    max_5 = -10000
    f = open('17_1.txt', 'r')
    for line in f:
        x = int(line)
        a.append(x)
        if x % 5 == 0:
            max_5 = max(max_5, x)
    sum_max = -20000
    k = 0
    for i in range(len(a) - 1):
        if (a[i] % 4 == 0 or a[i + 1] % 4 == 0) and a[i] + a[i + 1] <= max_5:
            k += 1
            sum_max = max(sum_max, a[i] + a[i + 1])
    print(k, sum_max)
    

    Ответ: 18809983

    Задача 3

    В файле содержится последовательность целых чисел. Элементы принимают целые значения от -10000 до 10000 включительно. Определите и запишите в ответе два значения:

    1) Количество пар элементов последовательности, в которых сумма чисел делится на 10

    2)Максимальную сумму двух элементов в паре среди всех таких пар.

    В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

    В качестве ответа запишите сначала количество, а потом максимальное число без пробелов и разделителей. Если один из ответов отрицательный, записать его по модулю. Например, если количество чисел 99, а максимум -1234, то ответ 991234.

    Решение

    f = open(«fileotr7.txt»)
    kol = 0
    Max = -20000
    pred = -10001
    for x in f:
        x = int(x)
        if pred != -10001:
            if (pred + x) % 10 == 0:
                kol += 1
                if pred+x > Max:
                    Max = pred+x
        pred = x
    print(kol, Max)

    Количество: 648, сумма: 18780.

    Ответ: 64818780

    Задача 4

    В файле содержится последовательность целых чисел. Элементы принимают целые значения от -10000 до 10000 включительно. Определите и запишите в ответе два значения:

    1) Количество пар элементов последовательности, в которых оба числа делятся на 3

    2) Минимальную сумму двух элементов в паре среди всех таких пар.

    В данной задаче под парой подразумеваются два числа, расположенных на разных местах в наборе, порядок в паре неважен.

    В качестве ответа запишите сначала количество, а потом минимальное число без пробелов и разделителей. Если один из ответов отрицательный, записать его по модулю. Например, если количество чисел 99, а минимум -1234, то ответ 991234.

    Решение

    f = open(«fileotr4.txt»)
    kol = 0
    Min = 20000
    pred = -10001
    a = []
    for x in f:
        x = int(x)
        a.append(x)
    for i in range(len(a)):
        for j in range(i+1, len(a)):
            if a[i] % 3 == 0 and a[j] % 3 == 0:
                kol += 1
                if a[i]+a[j]<Min:
                    Min = a[i]+a[j]
    print(kol, Min)

    Количество: 306936, сумма: -19971.

    Ответ: 30693619971

    Задача 5

    В файле содержится последовательность целых чисел. Элементы принимают целые значения от -10000 до 10000 включительно. Определите и запишите в ответе два значения:

    1) Количество пар элементов последовательности, в которых хотя бы одно число делится на 10

    2) Минимальную сумму двух элементов в паре среди всех таких пар.

    В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

    В качестве ответа запишите сначала количество, а потом минимальное число без пробелов и разделителей. Если один из ответов отрицательный, записать его по модулю. Например, если количество чисел 99, а минимум -1234, то ответ 991234.

    Решение

    f = open(«fileotr2.txt»)
    kol = 0
    Min = 20000
    pred = -10001
    for x in f:
        x = int(x)
        if pred != -10001:
            if pred % 10 == 0 or x % 10 == 0:
                kol += 1
                if pred+x < Min:
                    Min = pred+x
        pred = x
    print(kol, Min)

    Количество: 1145, сумма: -19583.

    Ответ: 114519583

    Задача 6

    В файле содержится последовательность целых чисел. Элементы принимают целые значения от 1 до 10000 включительно. Определите количество и сумму чисел, которые делятся на 59, но не делятся на 2, 3 и 5.

    В качестве ответа запишите сначала количество, а потом сумму без пробелов и разделителей. Например, если количество чисел 99, а сумма 1234, то ответ 991234.

    Для выполнения задания рекомендуется написать программу или воспользоваться редактором электронных таблиц.

    Решение

    Пример решения задачи на Python:

    count = 0

    Sum = 0

    f = open(«file.txt»)

    for x in f:

    x = int(x)

    if (x % 59 == 0 and x % 2 != 0 and

    x % 3 != 0 and x % 5 != 0):

    count += 1

    Sum += x

    print(count, Sum)

    Ответ: 427140

    Задача 7

    В файле содержится последовательность целых чисел. Элементы принимают целые значения от 1 до 10000 включительно. Определите количество и сумму чисел, которые делятся на 29, но не делятся на 13, 17 и 31.

    В качестве ответа запишите сначала количество, а потом сумму без пробелов и разделителей. Например, если количество чисел 99, а сумма 1234, то ответ 991234.

    Для выполнения задания рекомендуется написать программу или воспользоваться редактором электронных таблиц.

    Решение

    Пример решения задачи на Python:

    count = 0

    Sum = 0

    f = open(«file.txt»)

    for x in f:

    x = int(x)

    if (x % 29 == 0 and x % 13 != 0 and

    x % 17 != 0 and x % 31 != 0):

    count += 1

    Sum += x

    print(count, Sum)

    Ответ: 31169969

    Задача 8

    В файле содержится последовательность целых чисел. Элементы принимают целые значения от 1 до 10000 включительно. Определите количество и сумму чисел, которые делятся на 29, но не делятся на 13, 17 и 31.

    В качестве ответа запишите сначала количество, а потом сумму без пробелов и разделителей. Например, если количество чисел 99, а сумма 1234, то ответ 991234.

    Для выполнения задания рекомендуется написать программу или воспользоваться редактором электронных таблиц.

    Решение

    Пример решения задачи на Python:

    count = 0

    Sum = 0

    f = open(«file.txt»)

    for x in f:

    x = int(x)

    if (x % 29 == 0 and x % 13 != 0 and

    x % 17 != 0 and x % 31 != 0):

    count += 1

    Sum += x

    print(count, Sum)

    Ответ: 31168577

    Задача 9

    В файле содержится последовательность целых чисел. Элементы принимают целые значения от 1 до 10000 включительно. Определите количество и сумму чисел, в составе которых есть ровно 3 девятки.

    В качестве ответа запишите сначала количество, а потом сумму без пробелов и разделителей. Например, если количество чисел 99, а сумма 1234, то ответ 991234.

    Для выполнения задания рекомендуется написать программу или воспользоваться редактором электронных таблиц.

    Решение

    Пример решения задачи на Python:

    count = 0

    summa = 0

    f = open(«file1.txt»)

    for x in f:

    x = int(x)

    copy = x

    kol = 0

    while copy > 0:

    if copy % 10 == 9:

    kol += 1

    copy //= 10

    if kol == 3:

    count += 1

    summa += x

    print(count, summa)

    Ответ: 219628

    Задача 10

    В файле содержится последовательность целых чисел. Элементы принимают целые значения от 1 до 10000 включительно. Определите количество простых чисел и максимальное простое число. Простое число — число, которое делится только на единицу и само себя.

    В качестве ответа запишите сначала количество, а потом максимум без пробелов и разделителей. Например, если количество чисел 99, а максимум 1234, то ответ 991234.

    Для выполнения задания рекомендуется написать программу или воспользоваться редактором электронных таблиц.

    Решение

    Пример решения задачи на Python:

    count = 0

    Max = 0

    f = open(«file1.txt»)

    for x in f:

    x = int(x)

    kol_del = 0

    for i in range(1, x + 1):

    if x % i == 0:

    kol_del += 1

    if kol_del == 2:

    count += 1

    if x > Max:

    Max = x

    print(count, Max)

    Ответ: 1049931

    Задача 11

    В файле содержится последовательность целых чисел. Элементы принимают целые значения от 1 до 10000 включительно. Определите минимум и максимум среди чисел, которые оканчиваются на 3 и делятся на 7.

    В качестве ответа запишите сначала минимум, а потом максимум без пробелов и разделителей. Например, если минимум равен 99, а максимум — 1234, то ответ 991234.

    Для выполнения задания рекомендуется написать программу или воспользоваться редактором электронных таблиц.

    Решение

    Пример решения задачи на Python:

    Max = 0

    Min = 10000

    f = open(«file.txt»)

    for x in f:

    x = int(x)

    if x % 10 == 3 and x % 7 == 0:

    if x > Max:

    Max = x

    if x < Min:

    Min = x

    print(Min, Max)

    Ответ: 4839723

    Задача 12

    В файле содержится последовательность целых чисел. Элементы принимают целые значения от 1 до 10000 включительно. Определите количество и сумму чисел, которые делятся на 2 и 13, но не делятся на 5 и 7.

    В качестве ответа запишите сначала количество, а потом сумму без пробелов и разделителей. Например, если количество чисел 99, а сумма 1234, то ответ 991234.

    Для выполнения задания рекомендуется написать программу или воспользоваться редактором электронных таблиц.

    Решение

    Пример решения задачи на Python:

    count = 0

    summa = 0

    f = open(«file.txt»)

    for x in f:

    x = int(x)

    if (x % 2 == 0 and x % 13 == 0 and

    x % 5 != 0 and x % 7 != 0):

    count += 1

    summa += x

    print(count, summa)

    Ответ: 27137098

    Задача 13

    В файле содержится последовательность целых чисел. Элементы принимают целые значения от 1 до 10000 включительно. Определите количество и сумму чисел, которые делятся на 7 и 11, но не делятся на 3 и 5.

    В качестве ответа запишите сначала количество, а потом сумму без пробелов и разделителей. Например, если количество чисел 99, а сумма 1234, то ответ 991234.

    Для выполнения задания рекомендуется написать программу или воспользоваться редактором электронных таблиц.

    Решение

    Пример решения задачи на Python:

    count = 0

    summa = 0

    f = open(«file.txt»)

    for x in f:

    x = int(x)

    if (x % 7 == 0 and x % 11 == 0 and

    x % 3 != 0 and x % 5 != 0):

    count += 1

    summa += x

    print(count, summa)

    Ответ: 419404

    Рекомендуемые курсы подготовки

    1

    f=open(’17_1.txt’)
    a=[int(x) for x in f]
    minimum=min(a)
    k=0
    max_summa=0
    s1=0
    k1=0
    for i in range(len(a)):
    if a[i]%4==0:
    s1+=a[i]
    k1+=1
    sr_ar=s1/k1
    for i in range(len(a)-1):
    if (a[i]%minimum==0 and a[i]+a[i+1]or (a[i+1]%minimum==0 and a[i]+a[i+1] k=k+1
    max_summa=max(max_summa,a[i]+a[i+1])
    print(k,max_summa)

    Ответ: 1428 829

    2

    f=open(’17_2.txt’)
    a=[int(x) for x in f]
    maximum=max(a)
    k=0
    min_summa=10000000000000
    s1=0
    k1=0
    for i in range(len(a)):
    if a[i]%10==3:
    s1+=a[i]
    k1+=1
    sr_ar=s1/k1
    for i in range(len(a)-1):
    if (maximum%a[i]==0 and a[i]+a[i+1]sr_ar) or (maximum%a[i+1]==0 and a[i]+a[i+1]sr_ar):
    k=k+1
    min_summa=min(min_summa,a[i]+a[i+1])
    print(k,min_summa)

    Ответ: 72 795

    3

    f=open(’17_3.txt’)
    a=[int(x) for x in f]
    k=0
    max_summa=0
    for i in range(len(a)-1):
    if a[i]%5==0 and a[i+1]%5==0:
    k=k+1
    max_summa=max(max_summa,a[i]+a[i+1])
    print(k,max_summa)

    Ответ: 213 965

    4

    f=open(’17_4.txt’)
    a=[int(x) for x in f]
    k=0
    min_summa=10000000000000
    for i in range(len(a)-1):
    if a[i]%20 or a[i+1]%20:
    k=k+1
    min_summa=min(min_summa,a[i]+a[i+1])
    print(k,min_summa)

    Ответ: 3741 -973

    5

    def h(ch):
    k6 = 0
    while ch0:
    ost=ch%10
    if ost==6:
    k6=k6+1
    ch=ch//10
    return k6
    f=open(’17_5.txt’)
    a=[int(x) for x in f]
    k=0
    m=1000000000000000
    for i in range(len(a)):
    if h(abs(a[i]))0:
    k=k+1
    m=min(a[i],m)
    print(k,m)

    Ответ: 935 -496

    6

    def h(ch):
    k4 = 0
    while ch0:
    ost=ch%10
    if ost==4:
    k4=k4+1
    ch=ch//10
    return k4
    f=open(’17_6.txt’)
    a=[int(x) for x in f]
    k=0
    m=0
    for i in range(len(a)):
    if h(abs(a[i]))0:
    k=k+1
    m=max(a[i],m)
    print(k,m)

    Ответ: 1753 499

    7

    f=open(’17_7.txt’)
    a=[int(x) for x in f]
    k=0
    max_razn=0
    for i in range(len(a)-1):
    if a[i]a[i+1]:
    k=k+1
    max_razn=max(max_razn,a[i]-a[i+1])
    print(k,max_razn)

    Ответ: 2514 963

    8

    f=open(’17_8.txt’)
    a=[int(x) for x in f]
    k=0
    min_razn_kv=100000000000
    for i in range(len(a)-1):
    if a[i]0 and a[i+1]0 and a[i+1]a[i]:
    k=k+1
    min_razn_kv=min(min_razn_kv,a[i+1]**2-a[i]**2)
    print(k,min_razn_kv)

    Ответ: 670 171

    9

    f=open(’17_9.txt’)
    a=[int(x) for x in f]
    m=0
    k=0
    for i in range(len(a)):
    if a[i]%4==0 and a[i]%5!=0 and a[i]%8!=0 and a[i]%31!=0 and a[i]%41!=0:
    k=k+1
    m=max(m,a[i])
    print(m,k)

    Ответ: 9572 381

    10

    f=open(’17_10.txt’)
    a=[int(x) for x in f]
    m=100000000000
    k=0
    for i in range(len(a)):
    if a[i]%7==0 and a[i]%5==0 and a[i]%2!=0 and a[i]%11!=0 and a[i]%91!=0:
    k=k+1
    m=min(m,a[i])
    print(m,k)

    Ответ: -8785 43

    11

    f=open(’17_11.txt’)
    a=[int(x) for x in f]
    k=0
    b=[]
    for i in range(len(a)):
    if a[i]%2==0 and a[i]%30:
    k=k+1
    b.append(a[i])
    b.sort(reverse=True)
    print(k,b[1])

    Ответ: 1299 9664

    12

    f=open(’17_12.txt’)
    a=[int(x) for x in f]
    k=0
    b=[]
    for i in range(len(a)):
    if a[i]%3==0 and a[i]%20:
    k=k+1
    b.append(a[i])
    b.sort()
    print(k,b[1])

    Ответ: 669 -9777

    13

    f=open(’17_13.txt’)
    a=[int(x) for x in f]
    k=0
    m=100000000000000000
    a=a[1:]
    a=a[:-1]
    for i in range(len(a)-2):
    if a[i+1]a[i] and a[i+1]a[i+2]:
    k=k+1
    m=min(m,a[i+1])
    print(k,m)

    Ответ: 1335 -8615

    14

    f=open(’17_14.txt’)
    a=[int(x) for x in f]
    k=0
    m=0
    a=a[1:]
    a=a[:-1]
    for i in range(len(a)-2):
    if a[i+1]or a[i+1]2] or a[i+1]and a[i+1]2]:
    k=k+1
    m=max(m,a[i+1])
    print(k,m)

    Ответ: 2661 9435

    В задание №17  добавлен файл. Он содержит последовательность целых чисел, которую необходимо будет использовать для обработки массива. Также в задании есть пример решения для другой последовательности. В ответ потребуется записать пару чисел, требуемую по условиям задачи.



    • Пара идущих подряд



    • Пара, последовательность не важна



    • Тройка идущих подряд



    • Тройка, последовательность не важна

    Задание 17 проверяет умение написать простую переборную программу, на языке программирования, содержащую циклы и ветвление. Это задание проверяет только технические программистские умения, так как сам алгоритм решения описан в постановке задачи.

    В отличии от 2021 года, в 2022 году к заданию 17 будет прилагаться файл данных. Отдельной технической задачей является чтение этого файла. Ответ будет зависеть от исходных данных.

    Решением будет являться алгоритм последовательного просмотра пар.

    Вариант 1. В данных задачах под парой подразумевается два идущих подряд элемента последовательности.

    ДЕМО-вариант

    В файле 17-demo1.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от −10 000 до 10 000 включительно. Определите и запишите в ответе сначала количество пар элементов последовательности, в которых хотя бы одно число делится на 3, затем максимальную из сумм элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности. Например, для последовательности из пяти элементов: 6; 2; 9; –3; 6 — ответ: 4 11.

    Решение:

    Для выполнения этого задания необходимо:

    • Cкачать файл, создать папку и перенести его в эту папку;
    • Создать файл для программы и сохранить его тоже в эту папку;
    • Прочитать внимательно задание.
    Описание программы:

    Python может с относительной легкостью обрабатывать различные форматы файлов:

    f = open('17-demo1.txt')
    a = [int(i) for i in f]
    f.close()
    k = 0
    mx = -10000
    for i in range(len(a)-1):
        if abs(a[i]) % 3 == 0 or abs(a[i+1]) % 3 == 0:
        k+=1
        mx=max(mx,a[i]+a[i+1])
    print(k,mx)
    

    Ответ: 2802 1990

    (№ 4352) (П. Волгин) В файле 17-P.txt содержится последовательность целых чисел. Элементы последовательности могут принимать значения от –100 до 100 включительно. Определите сначала количество пар элементов последовательности, в которых хотя бы одно число оканчивается на 7, а затем максимальную из сумм элементов таких пар. Под парой подразумевается два идущих подряд элемента последовательности. Например, для последовательности из 5 элементов: 7, 27, 17, 5, 57 ответ должен быть 4 62.

    Ответ: 16 159

    Проверим задачу в Excel

    Импортируем данные в таблицу из текстового файла. Самый простой способ: открыть текстовый файл ➦ Ctrl+A ➦ Ctrl+C ➦ переходим в таблицу ➦ выделить  ячейку А1 ➦ Ctrl+V.

    Вот такую вложенную друг в друга формулу вставляем в ячейку В2:

    =ЕСЛИ(ИЛИ(ОСТАТ(ABS(A1);10)=7;ОСТАТ(ABS(A2);10)=7);A1+A2;» «)

    Ответ: 16 и 159

    (№ 4707) (А. Кабанов) В файле 17-257.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые положительные значения до 10 000 включительно. Программа должна найти и вывести количество и наименьшую сумму пар элементов последовательности с чётной суммой, большей чем сумма максимального и минимального нечётного числа. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

    f = open('17-257.txt')
    a = [int(i) for i in f]
    f.close()
    k = 0
    mn = 2000000
    for i in a:
        if i % 2 != 0:
            s = max(a)+ min(a)
    for i in range(len(a)-1):
        if (a[i]+a[i+1]) % 2==0 and a[i]+a[i+1] > s:
            k+=1
            mn = min(mn, a[i]+a[i+1])
    print(k, mn)
    

    Ответ: 250 10094

    (№ 4722) В файле 17-243.txt содержится последовательность целых чисел. Элементы последовательности могут принимать целые значения от 0 до 10 000 включительно. Определите количество пар чисел, в которых ровно один из двух элементов больше, чем сумма цифр всех чисел в файле, делящихся на 35, а шестнадцатеричная запись другого оканчивается на EF. В ответе запишите два числа: сначала количество найденных пар, а затем – минимальную сумму элементов таких пар. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

    f = open('17-243.txt')
    a = [int(i) for i in f]
    f.close()
    s = 0
    k = 0
    mn = 2000000
    for i in a:
        if i % 35 ==0:
            while i !=0:
                s+=i%10
                i = i//10
    for i in range(len(a)-1):
        if (a[i]>s and a[i+1]<=s and a[i+1]//16%16==14 and a[i+1]%16==15) or (a[i]<=s and a[i]//16%16==14 and a[i]%16==15 and a[i+1]>s)):
            k+=1
            mn = min(mn, a[i]+a[i+1])
    print(k, mn)
    

    Ответ: 15 6410

    Вариант 2. В данных задачах под парой подразумевается два различных элемента последовательности. Порядок элементов в паре не важен.

    В файле 17-20.txt содержится последовательность из 10 000 целых положительных чисел. Каждое число не превышает 10 000. Определите и запишите в ответ сначала количество пар элементов последовательности, у которых сумма элементов кратна 117, затем максимальную из сумм элементов таких пар. В данной задачи под парой подразумевают два различных элемента последовательности. Порядок элементов не важен.

    f = open('17-20.txt')
    a = [int(i) for i in f]
    f.close()
    k = 0
    mx = 0
    for i in range(len(a)-1):
        for j in range(i+1,len(a)):
            if (a[i] + a[j]) % 117 == 0:
                k+=1
                mx=max(mx,a[i]+a[j])
    print(k, mx)
    

    Ответ: 427120 и 19890

    Вариант 3. В данных задачах считаем тройки элементов идущих подряд выполняя условие

    (П. Финкель) В файле 17-P2.txt содержится последовательность целых чисел, которые принимают значения от -10000 до 10000 включительно. Тройка идущих подряд чисел последовательности называется уникальной, если только второе из них является положительным числом, заканчивающимся на 9. Определите количество уникальных троек чисел, а затем – максимальную из всех сумм таких троек.

    Файл 17tr.txt содержит последовательность неотрицательных целых чисел, не превышающих 10 000. Назовём тройкой три идущих подряд элемента последовательности. Определите количество троек чисел таких, которые могут являться сторонами остроугольного треугольника. В ответе запишите два числа: сначала количество найденных троек, а затем — максимальную сумму элементов таких троек. Если таких троек не найдётся — следует вывести 0 0.

    Понравилась статья? Поделить с друзьями:

    Новое и интересное на сайте:

  • Решу егэ институты права
  • Решу егэ задание 26763
  • Решу егэ иностранный язык 2022
  • Решу егэ задание 26761
  • Решу егэ ино

  • Добавить комментарий

    ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: