Коллеги, спасибо за дружную и ответственную работу!

пятница, 29 апреля 2022 г.

ПРОГНОЗИРУЕМАЯ ШКАЛА 2022 ГОДА

 

ПРОГНОЗИРУЕМАЯ ШКАЛА 2022 ГОДА

Первичный балл

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

Тестовый балл

0

7

14

20

27

34

40

43

46

48

51

54

56

59

62

64

67

70

72

75

 

Первичный балл

20

21

22

23

24

25

26

27

28

29

Тестовый балл

78

80

83

85

88

90

93

95

98

100

 

среда, 27 апреля 2022 г.

А в Паскале можно так же как в Питоне

 Это небольшое сообщение посвещено делимости чисел. Задание 25 ЕГЭ по информатике. Начну с самой простой задачи: найти делители числа 64.

Питон Паскаль
a=64
 if a%i==0:
      print (i)
uses school;
begin
var i:=64;
 writeln(Divisors(i));
end.
По справедливости надо отмтить, что работает верно для чисел меньше или равных 1000000000. Задача 2. Найти на интервале [193136;193223] числа имеющие ровно 6 делителей.
Питон Паскаль
def div(x):
     d=set()
     for i in range (1,int (x**0.5)+1):
            if x%i ==0:
                      d.add(i)
                      d.add(x//i)
     return sorted(d)
 for x in range(193136,193223+1):
            d=div(x)
            if len(d)==6:
                       print (d)
uses school;
begin
for var i:=193136 to 193223 do
begin
var masdel:=i.Divisors.Toarray;
 if masdel.length=6 then writeln(masdel);
end;
end.



Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [174457; 174505], числа, имеющие ровно два различных натуральных делителя, не считая единицы и самого числа. Для каждого найденного числа запишите эти два делителя и результат в таблицу на экране с новой строки в порядке возрастания произведения этих двух делителей. Делители в строке таблицы также должны следовать в порядке возрастания.

Питон Паскаль
def div(x):
       d=set()
       for i in range (1,int (x**0.5)+1):
              if x%i ==0:
                    d.add(i)
                    d.add(x//i)
return sorted(d)
for x in range(174457,174505+1):
     d=div(x)
     if len(d)==2:
       print(d[0],'*',d[1],'=',d[0]*d[1])
uses school;
begin
for var i:=174457 to 174505 do
begin
 var masdel:=i.Divisors.Toarray;
 if masdel.length=4 then writeln(masdel[1],'*',masdel[2],'=',masdel[3]);
end;
end.
Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [0; 1000] простые числа. Сосчитайте их количество. Ввыведите числа на экран и их количество.
Питон Паскаль
a=[]
for n in range(2,1000+1):
      q=round(n**0.5)
      ok=True
      for dd in range(2,q+1):
           if n% dd==0:
               ok=False
               break
if ok:
     a+=[n]
print(a)
print(len(a))



uses school;
begin
 var k:=0;
 for var n:=2 to 1000 do
begin
 var masdel:=n.Divisors.Toarray;
 if masdel.length=2 then
begin
 k:=k+1;
 write(masdel[1],' ');
end;
end;
 writeln;
writeln(k);
end.

понедельник, 25 апреля 2022 г.

ТОП ошибок, которые можно допустить в ЕГЭ по информатике

 Уважаемые коллеги, здравствуйте! Скоро наш экзамен. Необходимо обратить внимание на ошибки, которые ученики допускают из года в год.

понедельник, 18 апреля 2022 г.

Интересные задания

 Задание 9

1.Для решения данной задачи необходимо открыть файл таблицы, которая содержит в каждой из строк по 3 натуральных числа. Первое число - радиус шара. Второе и третье число - радиусы отверстий. Ваша задача состоит в том, чтобы посчитать, какое кол-во троек данных чисел, в которых шар пройдет через оба отверстия. В ответ нужно записать только одно число — кол-во подходящих троек.

2.Для решения данной задачи необходимо открыть прикрепленный файл таблицы, которая содержит в каждой из строк по 3 натуральных числа. Ваша задача состоит в том, чтобы посчитать, какое кол-во троек данных чисел может являться числами геометрической прогрессии.

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

4. Для решения данной задачи необходимо открыть прикрепленный файл таблицы, которая содержит в каждой из строк по 3 натуральных числа. Первое и второе число - монеты. Третье число - стоимость товара. На товар распространяется скидка 10%. Ваша задача состоит в том, чтобы посчитать, какое кол-во троек данных чисел, в которых вы сможете купить товар. В ответ нужно записать только одно число — кол-во подходящих троек.

5. Для решения данной задачи необходимо открыть прикрепленный файл таблицы, которая содержит в каждой из строк по 3 натуральных числа. Первое число - высота нижней границы ворот. Второе число - высота верхней границы ворот. Третье число - высота машины, которая пытается заехать во ворота. Ваша задача состоит в том, чтобы посчитать количество троек, в которых машина может заехать в ворота.

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

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

8. Для решения данной задачи необходимо открыть прикрепленный файл таблицы, которая содержит в каждой из строк по 3 натуральных числа. Ваша задача состоит в том, чтобы посчитать, какое кол-во троек данных чисел может являться числами арифметической прогрессии. В ответ нужно записать только одно число — кол-во подходящих троек.

9. Для решения данной задачи необходимо открыть прикрепленный файл таблицы, которая содержит в каждой из строк по 3 натуральных числа. Ваша задача состоит в том, чтобы определить, есть ли два числа, которые в сумме дают третье число.

10. Для решения данной задачи необходимо открыть прикрепленный файл таблицы, которая содержит в каждой из строк по 3 натуральных числа. Первые два числа - ёмкость аккумуляторов. Третье число - ёмкость аккумулятора телефона. Ваша задача состоит в том, чтобы посчитать количество троек данных чисел, в которых можно полностью зарядить телефон с помощью двух аккумуляторов, при условии, что телефон полностью разряжен.

пятница, 15 апреля 2022 г.

Интересные задания

 Задание 26

Системный администратор раз в неделю создает архив пользовательских файлов. Файлы сохраняются на два диска по следующему алгоритму:

1.     на один из дисков записывается файл самого большого размера, 

2.     на второй диск записывается следующий по убыванию размера файл,

3.     на второй диск записываются файлы наименьшего объема до тех пор, пока суммарный объем файлов на втором диске не станет больше суммарного объема файлов на первом диске,

4.     алгоритм повторяется для другого диска, начиная с (п.2).

Алгоритм повторяется до тех пор, пока не будут распределены все файлы.

В файле находится следующая информация:

В первой строке записано одно число – количество файлов N < 100000, в последующих N строках записаны размеры всех файлов пользователей (0 < x < 10000).

В качестве ответа приведите два числа – суммарные объемы файлов на первом и втором дисках.

Пример входных данных

6 

25

15

10

20

50

40

Для такого случая программа должна вывести два числа 75 (50+25) и 85 (40+10+15+20).

 

В магазине по продаже смартфонов считается, что премиум смартфоны – это самые дорогие смартфоны, которые имеют суммарную стоимость не более 30% от общей стоимости всех смартфонов.

В конце продажного периода магазин решил провести одну из двух акций:

-  скидка 50% на обычный смартфон при покупке премиум смартфона,

-  при покупке обычного и премиум смартфонов скидка 20% на оба устройства. 

В акции участвуют только чеки, в которых ровно два устройства – обычный и премиум смартфоны.

Определите наиболее выгодную акцию для магазина, если известно, что покупатели при покупке премиум смартфона всегда выбирают обычный смартфон с максимальной стоимостью, который еще не продан. 

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

 

В файле в первой строке записано число N < 100000 – количество смартфонов в магазине. В каждой из последующий N строк – стоимость одного смартфона в условных единицах (0 < x < 10000).

Пример входных данных

10

500

200

900

1000

200

300

400

700

300

150

Для такого входного файла суммарная стоимость премиум смартфонов не должна превышать 1350. Значит премиум смартфон только один. 

Поэтому выбираем одну из акций для одного чека: (1000 + 900*0.5) или (1000+900)*0.8. Для такого случая вторая акция выгоднее.  

Ответом в таком случае будет пара чисел – 1 и 1520

 

Планируется проведение онлайн-конференции, в которой от каждого участника требовалось заранее записать один видеоролик со своим выступлением. Далее эти видеоролики предполагалось монтировать в один общий видеоролик. Однако потребовалось ограничить длину общего ролика некоторым заданным временем.

По заданному максимальному ограничению длины общего ролика (в секундах) и информации о длинах роликов участников определите максимальное число выступлений, которые могут быть смонтированы в общий ролик. Также определите число участников, чьи выступления заведомо не попадут в общий ролик (при условии попадания в общий ролик максимального числа выступлений).

В первой строке входного файла находятся два числа: D - максимальная длительность общего ролика (натуральное число, не превышающее 100000) и N – количество участников (натуральное число, не превышающее 1000). В следующих N строках находятся значения длин выступлений каждого участника (все числа натуральные, не превышающие 100), каждое в отдельной строке.

Запишите в ответе два числа: сначала наибольшее число выступлений, которые могут быть смонтированы в общий ролик, затем число участников, чьи выступления заведомо не попадут в общий ролик (при условии попадания в общий ролик максимального числа выступлений).

Пример входного файла:

300 4

200 110

150 120

При таких исходных данных можно смонтировать в общий ролик максимум два выступления. Возможные длины этих двух выступлений 110 и 120, 110 и 150 или 120 и 150. Заведомо не попадёт в общий ролик одно выступление (длиной 200), поэтому ответ для приведённого примера: 2 1

 

Логистическая компания перевозит грузы, упакованные в коробки одинакового размера. При транспортировке коробки помещаются в контейнеры. В распоряжении компании имеется Nконтейнеров (1 ≤ N ≤ 105). Каждый контейнер заполнен некоторым (возможно нулевым) количеством коробок. Компания получила партию грузов, упакованных в M коробок (0 ≤ M ≤ 104). Требуется распределить новую партию грузов по контейнерам так, чтобы количество коробок в самом заполненном контейнере было наименьшим из возможных. Под самым заполненным понимается контейнер с таким количеством коробок, больше которого нет ни в каком другом контейнере. Предполагается, что в каждом контейнере имеется достаточно свободного места, чтобы вместить все коробки из новой партии. Напишите эффективную по времени и по памяти программу, определяющую наименьшее возможное количество коробок в наиболее заполненном контейнере.

 В первой строке записаны числа N и M, контейнеры и коробки. В следующих N строках приведено по одному целому числу — количество коробок в каждом из Nконтейнеров до распределения новых грузов. В качестве ответа выведите одно число – минимально возможное количество коробок в наиболее заполненном контейнере.

Пример входных данных:

5

20

1

2

3

4

5

Ответ для примера: 7

 

Завод “Винтаж” производит оптовую закупку изделий A и Z, на которую выделена определённая сумма денег. В оптовом магазине есть в наличии партии этих изделий различных модификаций по различной цене. На выделенные деньги необходимо приобрести как можно больше изделий A (независимо от модификации). Закупать можно любую часть каждой партии. Если у магазина закончатся изделия A, то на оставшиеся деньги необходимо приобрести как можно больше изделий Z. Известна выделенная для закупки сумма, а также количество и цена различных модификаций данных изделий в магазине. Необходимо определить, сколько будет закуплено изделий Z и какая сумма останется неиспользованной.

Входные данные представлены следующим образом. Первая строка входного файла содержит два целых числа: N – общее количество партий изделий у поставщика и S – сумма выделенных на закупку денег (в рублях). Каждая из следующих N строк описывает одну партию изделия: сначала записана буква A или Z (тип изделия), а затем – два целых числа: цена одного изделия в рублях и количество изделий в партии. Все данные в строках входного файла разделены одним пробелом. В ответе запишите два целых числа без пробела: сначала количество закупленных изделий типа Z, затем оставшуюся неиспользованной сумму денег.

Пример входного файла

4 1000

A 14 12

Z 30 7

A 40 20

Z 50 15

В данном случае сначала нужно купить изделия A: 12 изделий по 14 рублей и 24 изделия по 40 рублей. На это будет потрачено 968 рублей. На оставшиеся 32 рубля можно купить 1 изделие Z по 30 рублей. Таким образом, всего будет куплено 1 изделие Z и останется 2 рубля. В ответе надо записать числа 1 и 2.

четверг, 14 апреля 2022 г.

Интересные задания

 Задание 25

1.     Найдите 6 первых непростых чисел, больших 1200000 (1.2 млн), сумма делителей которых (кроме 1 и самого числа) меньше, чем  исследуемого числа.

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

2.     Поляков К.Ю. Пусть S (N) – сумма трёх наибольших нетривиальных делителей числа N (не считая единицы и самого числа). Если у числа N меньше трёх таких делителей, то S (N) считается равным 0. Найдите 5 наименьших натуральных чисел, превышающих 10 000 000, для которых S (N) – полный квадрат какого-либо числа. В ответе запишите найденные значения S (N) в порядке возрастания соответствующих им чисел N.

3.     Поляков К.Ю. Обозначим через P(N) – произведение 5 наименьших различных нетривиальных делителей натурального числа N (не считая единицы и самого числа). Если у числа N меньше 5 таких делителей, то P(N) считается равным нулю. Найдите 5 наименьших натуральных чисел, превышающих 200 000 000, для которых P(N) оканчивается на 1 и не превышает N. В ответе для каждого найденного числа запишите сначала значение P(N), а затем – наибольший делитель, вошедший в произведение P(N).

4.     А. Богданов Среди чисел, больших куба максимального простого двузначного числа, найдите 5 минимальных чисел, у которых есть ровно три различных трехзначных делителя, оканчивающихся на 3.  Для каждого из 5 найденных чисел выводится само число, а затем его минимальный трехзначный делитель, оканчивающийся на 3.

5.     А. Комков Обозначим через S сумму делителей числа, не являющихся простыми, кроме единицы и самого числа. Если таких делителей у числа нет, то S равно нулю. Напишите программу, которая перебирает нечетные целые числа, меньшие 912673, в порядке убывания и ищет среди них первые 5 чисел, которые кратны S. Для каждого из найденных чисел в отдельной строке сначала выводится само число, затем значение S. Строки выводятся в порядке убывания найденных чисел.

6.     А. Кабанов Обозначим через M разность максимального и минимального числа среди простых делителей целого числа, не считая самого числа. Если таких делителей у числа нет, то считаем значение M равным нулю. Напишите программу, которая перебирает целые числа, большие 450000, в порядке возрастания и ищет среди них такие, для которых значение M при делении на 29 даёт в остатке 11. Выведите первые 4 найденных числа в порядке возрастания, справа от каждого числа запишите соответствующее значения M. 

7.     Е. Джобс Напишите программу, которая находит 6 простых чисел наиболее приближенные к числу 10000000 (10 миллионов). Причем 3 найденных числа должны быть меньше 10000000, остальные 3 числа – больше. Найденные числа расположите в порядке возрастания. В качестве ответа выведите пары чисел – расстояние от найденного числа до 10000000 и само число.

8.     А. Богданов Найдите наименьшее натуральное число, которое имеет ровно 1200 делителей. В ответе запишите сначала само число и затем его наибольший простой делитель. Подсказка: используйте основную теорему арифметики.

9.     А. Рулин Рассматривается множество целых чисел, принадлежащих числовому отрезку [854321; 1087654]. Найдите числа, нетривиальные делители которых образуют арифметическую прогрессию с разностью d = 10. В ответе для каждого такого числа (в порядке возрастания) запишите сначала само число, а потом – его минимальный нетривиальный делитель.

10.  Е. Джобс Среди целых чисел, принадлежащих числовому отрезку [81234; 134689], найдите числа, имеющие ровно три различных натуральных делителя, не считая единицы и самого числа. Для каждого найденного числа запишите в таблицу на экране с новой строки сначала наименьший, а потом наибольший из этих делителей.

 

среда, 13 апреля 2022 г.

Интересные задания

 Задание 24

В файле записана строка, состоящая из английских букв A, B, C, D, E, F. Найдите подстроку максимальной длины, состоящую из одинаковых символов и окруженную двумя одинаковыми символами. Причем символы, окружающие искомую подстроку, отличаются от символов, входящих в подстроку. Если искомых подстрок в строке несколько, вывести символ, из которого состоит последняя (самая правая) подстрока.

 В файле  записана строка, состоящая из цифр от 0 до 9. Надо найти подстроку минимальной длины, для которой выполняется условие: каждый символ подстроки окружен цифрами с разной четностью. Причем подстроки большей длины не содержат подстрок меньшей длины, то есть нельзя сказать, что в строке 13425269 есть искомые подстроки длиной 1 или 2 для подстроки 342 (3, 34, 342) или подстрока длиной 1 для 26. По условию в такой строке 2 искомых подстроки – 342 и 26. Первый и последний символы в строке не могут быть символами искомой подстроки.Найдите минимальную длину таких подстрок и их количество.

В файле  записана строка, состоящая из букв a и b. Найдите максимальную длину подстроки из пересекающихся комбинаций abba. Например, в строке bbbaaababbabbabbaaabab длиной искомой последовательности будет 10 (abbabbabba).

 В файле  записана строка, состоящая из букв английского алфавита. Укажите максимальную длину подстроки, в записи которой только 2 различных символа. Например, в строке acbcbbbbaabaabccbab такая подстрока bbbbaabaab.

Файл  содержит несколько строк. Каждая из которых содержит набор слов – последовательности символов, разделенные пробелами. Словом считается непустая последовательность не пробельных символов.Найдите количество слов в файле и среднюю длину слова. В ответе приведите два числа – сначала количество найденных слов, затем целую часть среднего значения длины слов.


вторник, 12 апреля 2022 г.

Интересные задания

 Задание 22

Ниже представлена программа, для вашего удобства написанная на трёх языках, которая, получив в виде входных данных натуральное число N, выводит на экран числа Y и Z. Укажите наименьшее такое число N, при вводе которого программа выводит сначала число 8, затем - 1600.

 

Pascal

Python

C

var N, Z, Y: Integer;

N = int(input())

#include <stdlo.h>

begin

Z = 0

int main(void)

readln(N);

Y = 1

{

Z:=0; Y:=1;

while N > 0 :

int Z, Y, N;

while N > 0 do begin

Z += 1

scanf("%d", &N);

Z:=Z+1;

Y '= (N % 6)

Z = 0;Y = 1;

Y:= Y'(N mod 6);

N//=6

while (N>0){

N:= N div 6;

print(Z)

Z = Z + 1;

end;

print(Y)

Y = Y*(N % 6);

writeln(Z); write(Y);

 

N = N / 6;

end.

 

}

printff%d\n%d", Z, Y);

}

Ниже представлена программа, для вашего удобства написанная на трёх языках, которая, получив в виде входных данных натуральное число N, выводит на экран числа Y и Z. Укажите наибольшее такое число N, при вводе которого программа выводит сначала число 4, затем - 196.

 

Pascal

Python

C

var N, Z, Y: integer;

N = int(input())

#include <stdio.h>

begin

Z = 0

Int main(void)

readln(N);

Y= 1

{

Z:=0; Y:=1;

while N > 0 :

IntZ, Y, N;

while N > 0 do begin

Z+= 1

scanf("%d", &N);

ZM+1;

Y "= (N % 8)

Z = 0; Y= 1;

Y:= Y'(N mod 8);

N//=8

while (N > 0) {

N:= Ndiv 8;

print(Z)

Z«Z + 1j

end;

print(Y)

Y = Y'(N % 8);

writeln(Z); write(Y);

 

N = N / 8;

end.

 

}

printf("%d\n%d", Z, Y);

\ )

Ниже представлена программа, для вашего удобства написанная на трёх языках, которая, получив в виде входных данных натуральное число N, выводит на экран числа Y и Z. Укажите наибольшее такое число N, при вводе которого программа выводит сначала число 4, затем - 196.

 

Pascal

Python

C

var N, Z, Y: integer;

N = int(input())

#include <stdio.h>

begin

Z = 0

Int main(void)

readln(N);

Y= 1

{

Z:=0; Y:=1;

while N > 0 :

IntZ, Y, N;

while N > 0 do begin

Z+= 1

scanf("%d", &N);

ZM+1;

Y "= (N % 8)

Z = 0; Y= 1;

Y:= Y'(N mod 8);

N//=8

while (N > 0) {

N:= Ndiv 8;

print(Z)

Z«Z + 1j

end;

print(Y)

Y = Y'(N % 8);

writeln(Z); write(Y);

 

N = N / 8;

end.

 

}

printf("%d\n%d", Z, Y);

\ )

Ниже представлена программа, для вашего удобства написанная на трёх языках, которая, получив в виде входных данных натуральное число N, выводит на экран число Z. Известно, что N > 1024. Укажите наименьшее такое число N, при вводе которого программа выводит число 52.

 

Pascal

Python

С

var N, Т, Z: integer:

N = int(input())

#include <stdio.h>

begin

T = N

void main()

readln(N);

Z = 65

{

T:=N;

if T % 2 == 0:

int Nt T, Z;

Z := 65;

Z = 52

scanffo/od", &N);

if T mod 2 = 0 then

while T != Z:

T = N;Z = 65;

Z := 52;

if T > Z:

if (T%2==0)Z = 52;

while T <> Z do

T-=Z

while (T != Z) {

if T > Z then

else:

if(T>Z)

T := T - Z

Z-=T

T = T-Z;

else

print(Z)

else

Z := Z - T;

 

Z = Z-T;

writeln(Z);

 

> 

end.

 

рг\Щ"%б'\ Z);

}

Ниже представлена программа, для вашего удобства написанная на трёх языках, которая, получив в виде входных данных натуральное число N, выводит на экран число Z. Известно, что N < 200. Укажите наибольшее такое число N, при вводе которого программа выводит число 13.

 

Pascal

Python

С

var N. Т. Z: Integer;

N = int(input<))

#include <stdio.h>

begin

T = N

void main()

readln(N);

Z = 65

{

T:=N;

ifT%2!= 0:

int N, T, Z;

Z :- 65;

Z = 10

scanf("%d", &N);

if T mod 2 <> 0 then

while T != Z:

T = N; Z = 65;

Z := 10;

if T > Z:

lf(T%2<> 0)Z = 10;

while T <> Z do

T-=Z

while (T != Z) {

if T > Z then

else:

if(T>Z)

T:=T-Z

Z-=T

T = T-Z;

else

print(Z)

else

Z:=Z-T;

 

Z = Z - T;

writeln(Z);

 

}

end.

 

printfC%d\ Z);

}