From bdbc064d199b5e1fd25f2d05d6010cc0ec0ad19b Mon Sep 17 00:00:00 2001 From: hacker717 <alzelenoff@yandex.ru> Date: Thu, 26 Dec 2024 20:33:19 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BD=D0=B5=D1=81?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=20text=5Fprocessor=20=D0=B2=20=D0=BC=D0=B0?= =?UTF-8?q?=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 - 2.1/1.py | 1 - 2.1/10.py | 3 - 2.1/11.py | 3 - 2.1/12.py | 13 - 2.1/13.py | 3 - 2.1/14.py | 2 - 2.1/15.py | 16 - 2.1/16.py | 12 - 2.1/17.py | 1 - 2.1/18.py | 1 - 2.1/19.py | 8 - 2.1/2.py | 3 - 2.1/20.py | 4 - 2.1/21.ipynb | 666 ------------------------------ 2.1/3.py | 3 - 2.1/4.py | 3 - 2.1/5.py | 2 - 2.1/6.py | 3 - 2.1/7.py | 3 - 2.1/8.py | 4 - 2.1/9.py | 3 - 2.2/1.py | 7 - 2.2/10.py | 6 - 2.2/11.py | 6 - 2.2/12.py | 14 - 2.2/13.py | 6 - 2.2/14.py | 7 - 2.2/15.py | 4 - 2.2/16.py | 11 - 2.2/17.py | 25 -- 2.2/18.py | 8 - 2.2/19.py | 23 -- 2.2/2.py | 5 - 2.2/20.py | 7 - 2.2/22.ipynb | 793 ------------------------------------ 2.2/3.py | 8 - 2.2/4.py | 7 - 2.2/5.py | 13 - 2.2/6.py | 11 - 2.2/7.py | 5 - 2.2/8.py | 5 - 2.2/9.py | 7 - 2.2/markdown-image.png | Bin 209014 -> 0 bytes 2.3/1.py | 7 - 2.3/10.py | 16 - 2.3/11.py | 1 - 2.3/12.py | 1 - 2.3/13.py | 1 - 2.3/14.py | 11 - 2.3/15.py | 8 - 2.3/16.py | 6 - 2.3/17.py | 9 - 2.3/18.py | 17 - 2.3/19.py | 17 - 2.3/2.py | 9 - 2.3/20.py | 16 - 2.3/23.ipynb | 762 ---------------------------------- 2.3/3.py | 8 - 2.3/4.py | 12 - 2.3/5.py | 12 - 2.3/6.py | 6 - 2.3/7.py | 10 - 2.3/8.py | 4 - 2.3/9.py | 8 - 2.4/1.py | 13 - 2.4/10.py | 14 - 2.4/11.py | 16 - 2.4/12.py | 10 - 2.4/13.py | 10 - 2.4/14.py | 15 - 2.4/15.py | 15 - 2.4/16.py | 22 - 2.4/17.py | 7 - 2.4/18.py | 25 -- 2.4/19.py | 22 - 2.4/2.py | 5 - 2.4/20.py | 16 - 2.4/2024-10-24_02-02-14.png | Bin 6009 -> 0 bytes 2.4/24.ipynb | 1 - 2.4/3.py | 23 -- 2.4/4.py | 1 - 2.4/5.py | 14 - 2.4/6.py | 14 - 2.4/7.py | 4 - 2.4/8.py | 6 - 2.4/9.py | 6 - 3.1/1.py | 16 - 3.1/10.py | 26 -- 3.1/11.py | 7 - 3.1/12.py | 5 - 3.1/13.py | 6 - 3.1/14.py | 4 - 3.1/15.py | 13 - 3.1/16.py | 14 - 3.1/17.py | 6 - 3.1/18.py | 11 - 3.1/19.py | 10 - 3.1/2.py | 3 - 3.1/20.py | 34 -- 3.1/3.py | 12 - 3.1/31.ipynb | 1 - 3.1/4.py | 13 - 3.1/5.py | 5 - 3.1/6.py | 10 - 3.1/7.py | 2 - 3.1/8.py | 15 - 3.1/9.py | 15 - 3.2/1.py | 2 - 3.2/10.py | 76 ---- 3.2/11.py | 11 - 3.2/12.py | 13 - 3.2/13.py | 12 - 3.2/14.py | 22 - 3.2/15.py | 8 - 3.2/16.py | 15 - 3.2/17.py | 25 -- 3.2/18.py | 13 - 3.2/19.py | 14 - 3.2/2.py | 2 - 3.2/20.py | 19 - 3.2/3.py | 6 - 3.2/32.ipynb | 1 - 3.2/4.py | 9 - 3.2/5.py | 9 - 3.2/6.py | 15 - 3.2/7.py | 24 -- 3.2/8.py | 17 - 3.2/9.py | 14 - 3.3/1.py | 1 - 3.3/10.py | 1 - 3.3/2.py | 1 - 3.3/3.py | 1 - 3.3/33.ipynb | 287 ------------- 3.3/4.py | 1 - 3.3/5.py | 1 - 3.3/6.py | 1 - 3.3/7.py | 1 - 3.3/8.py | 1 - 3.3/9.py | 1 - 3.4/1.py | 2 - 3.4/10.py | 9 - 3.4/11.py | 9 - 3.4/12.py | 6 - 3.4/13.py | 4 - 3.4/14.py | 4 - 3.4/15.py | 4 - 3.4/16.py | 17 - 3.4/17.py | 32 -- 3.4/18.py | 7 - 3.4/19.py | 24 -- 3.4/2.py | 1 - 3.4/20.py | 85 ---- 3.4/3.py | 8 - 3.4/34.ipynb | 1 - 3.4/4.py | 4 - 3.4/5.py | 4 - 3.4/6.py | 9 - 3.4/7.py | 6 - 3.4/8.py | 13 - 3.4/9.py | 10 - 3.5/1.py | 7 - 3.5/10.py | 12 - 3.5/11.py | 20 - 3.5/12.py | 34 -- 3.5/13.py | 17 - 3.5/14.py | 34 -- 3.5/15.py | 39 -- 3.5/16.py | 48 --- 3.5/17.py | 18 - 3.5/18.py | 15 - 3.5/19.py | 34 -- 3.5/2.py | 8 - 3.5/20.py | 9 - 3.5/3.py | 6 - 3.5/35.ipynb | 1 - 3.5/4.py | 14 - 3.5/5.py | 9 - 3.5/6.py | 78 ---- 3.5/7.py | 13 - 3.5/8.py | 19 - 3.5/9.py | 15 - 3.6/1.py | 13 - 3.6/2.py | 18 - 3.6/3.py | 1 - 3.6/4.py | 8 - 3.6/5.py | 51 --- 3.6/tets.py | 92 ----- 4.1/1.py | 2 - 4.1/10.py | 18 - 4.1/2.py | 7 - 4.1/3.py | 5 - 4.1/4.py | 19 - 4.1/41.ipynb | 1 - 4.1/5.py | 2 - 4.1/6.py | 4 - 4.1/7.py | 3 - 4.1/8.py | 4 - 4.1/9.py | 7 - 4.2/1.py | 2 - 4.2/10.py | 14 - 4.2/2.py | 5 - 4.2/3.py | 12 - 4.2/4.py | 19 - 4.2/5.py | 7 - 4.2/6.py | 24 -- 4.2/7.py | 23 -- 4.2/8.py | 1 - 4.2/9.py | 1 - 4.3/1.py | 6 - 4.3/10.py | 9 - 4.3/2.py | 7 - 4.3/3.py | 6 - 4.3/4.py | 4 - 4.3/5.py | 14 - 4.3/6.py | 24 -- 4.3/7.py | 9 - 4.3/8.py | 5 - 4.3/9.py | 5 - 4.4/1.py | 2 - 4.4/2.py | 12 - 4.4/3.py | 7 - 4.4/4.py | 11 - 4.4/5.py | 26 -- README.md | 110 +---- makefiles.py | 3 - md.txt | 432 ++------------------ md1.txt | 90 ++++ py_write.py | 8 - test.py | 2 - text_processor.py | 174 +------- text_processor2.py | 181 +------- 232 files changed, 156 insertions(+), 5853 deletions(-) delete mode 100644 2.1/1.py delete mode 100644 2.1/10.py delete mode 100644 2.1/11.py delete mode 100644 2.1/12.py delete mode 100644 2.1/13.py delete mode 100644 2.1/14.py delete mode 100644 2.1/15.py delete mode 100644 2.1/16.py delete mode 100644 2.1/17.py delete mode 100644 2.1/18.py delete mode 100644 2.1/19.py delete mode 100644 2.1/2.py delete mode 100644 2.1/20.py delete mode 100644 2.1/21.ipynb delete mode 100644 2.1/3.py delete mode 100644 2.1/4.py delete mode 100644 2.1/5.py delete mode 100644 2.1/6.py delete mode 100644 2.1/7.py delete mode 100644 2.1/8.py delete mode 100644 2.1/9.py delete mode 100644 2.2/1.py delete mode 100644 2.2/10.py delete mode 100644 2.2/11.py delete mode 100644 2.2/12.py delete mode 100644 2.2/13.py delete mode 100644 2.2/14.py delete mode 100644 2.2/15.py delete mode 100644 2.2/16.py delete mode 100644 2.2/17.py delete mode 100644 2.2/18.py delete mode 100644 2.2/19.py delete mode 100644 2.2/2.py delete mode 100644 2.2/20.py delete mode 100644 2.2/22.ipynb delete mode 100644 2.2/3.py delete mode 100644 2.2/4.py delete mode 100644 2.2/5.py delete mode 100644 2.2/6.py delete mode 100644 2.2/7.py delete mode 100644 2.2/8.py delete mode 100644 2.2/9.py delete mode 100644 2.2/markdown-image.png delete mode 100644 2.3/1.py delete mode 100644 2.3/10.py delete mode 100644 2.3/11.py delete mode 100644 2.3/12.py delete mode 100644 2.3/13.py delete mode 100644 2.3/14.py delete mode 100644 2.3/15.py delete mode 100644 2.3/16.py delete mode 100644 2.3/17.py delete mode 100644 2.3/18.py delete mode 100644 2.3/19.py delete mode 100644 2.3/2.py delete mode 100644 2.3/20.py delete mode 100644 2.3/23.ipynb delete mode 100644 2.3/3.py delete mode 100644 2.3/4.py delete mode 100644 2.3/5.py delete mode 100644 2.3/6.py delete mode 100644 2.3/7.py delete mode 100644 2.3/8.py delete mode 100644 2.3/9.py delete mode 100644 2.4/1.py delete mode 100644 2.4/10.py delete mode 100644 2.4/11.py delete mode 100644 2.4/12.py delete mode 100644 2.4/13.py delete mode 100644 2.4/14.py delete mode 100644 2.4/15.py delete mode 100644 2.4/16.py delete mode 100644 2.4/17.py delete mode 100644 2.4/18.py delete mode 100644 2.4/19.py delete mode 100644 2.4/2.py delete mode 100644 2.4/20.py delete mode 100644 2.4/2024-10-24_02-02-14.png delete mode 100644 2.4/24.ipynb delete mode 100644 2.4/3.py delete mode 100644 2.4/4.py delete mode 100644 2.4/5.py delete mode 100644 2.4/6.py delete mode 100644 2.4/7.py delete mode 100644 2.4/8.py delete mode 100644 2.4/9.py delete mode 100644 3.1/1.py delete mode 100644 3.1/10.py delete mode 100644 3.1/11.py delete mode 100644 3.1/12.py delete mode 100644 3.1/13.py delete mode 100644 3.1/14.py delete mode 100644 3.1/15.py delete mode 100644 3.1/16.py delete mode 100644 3.1/17.py delete mode 100644 3.1/18.py delete mode 100644 3.1/19.py delete mode 100644 3.1/2.py delete mode 100644 3.1/20.py delete mode 100644 3.1/3.py delete mode 100644 3.1/31.ipynb delete mode 100644 3.1/4.py delete mode 100644 3.1/5.py delete mode 100644 3.1/6.py delete mode 100644 3.1/7.py delete mode 100644 3.1/8.py delete mode 100644 3.1/9.py delete mode 100644 3.2/1.py delete mode 100644 3.2/10.py delete mode 100644 3.2/11.py delete mode 100644 3.2/12.py delete mode 100644 3.2/13.py delete mode 100644 3.2/14.py delete mode 100644 3.2/15.py delete mode 100644 3.2/16.py delete mode 100644 3.2/17.py delete mode 100644 3.2/18.py delete mode 100644 3.2/19.py delete mode 100644 3.2/2.py delete mode 100644 3.2/20.py delete mode 100644 3.2/3.py delete mode 100644 3.2/32.ipynb delete mode 100644 3.2/4.py delete mode 100644 3.2/5.py delete mode 100644 3.2/6.py delete mode 100644 3.2/7.py delete mode 100644 3.2/8.py delete mode 100644 3.2/9.py delete mode 100644 3.3/1.py delete mode 100644 3.3/10.py delete mode 100644 3.3/2.py delete mode 100644 3.3/3.py delete mode 100644 3.3/33.ipynb delete mode 100644 3.3/4.py delete mode 100644 3.3/5.py delete mode 100644 3.3/6.py delete mode 100644 3.3/7.py delete mode 100644 3.3/8.py delete mode 100644 3.3/9.py delete mode 100644 3.4/1.py delete mode 100644 3.4/10.py delete mode 100644 3.4/11.py delete mode 100644 3.4/12.py delete mode 100644 3.4/13.py delete mode 100644 3.4/14.py delete mode 100644 3.4/15.py delete mode 100644 3.4/16.py delete mode 100644 3.4/17.py delete mode 100644 3.4/18.py delete mode 100644 3.4/19.py delete mode 100644 3.4/2.py delete mode 100644 3.4/20.py delete mode 100644 3.4/3.py delete mode 100644 3.4/34.ipynb delete mode 100644 3.4/4.py delete mode 100644 3.4/5.py delete mode 100644 3.4/6.py delete mode 100644 3.4/7.py delete mode 100644 3.4/8.py delete mode 100644 3.4/9.py delete mode 100644 3.5/1.py delete mode 100644 3.5/10.py delete mode 100644 3.5/11.py delete mode 100644 3.5/12.py delete mode 100644 3.5/13.py delete mode 100644 3.5/14.py delete mode 100644 3.5/15.py delete mode 100644 3.5/16.py delete mode 100644 3.5/17.py delete mode 100644 3.5/18.py delete mode 100644 3.5/19.py delete mode 100644 3.5/2.py delete mode 100644 3.5/20.py delete mode 100644 3.5/3.py delete mode 100644 3.5/35.ipynb delete mode 100644 3.5/4.py delete mode 100644 3.5/5.py delete mode 100644 3.5/6.py delete mode 100644 3.5/7.py delete mode 100644 3.5/8.py delete mode 100644 3.5/9.py delete mode 100644 3.6/1.py delete mode 100644 3.6/2.py delete mode 100644 3.6/3.py delete mode 100644 3.6/4.py delete mode 100644 3.6/5.py delete mode 100644 3.6/tets.py delete mode 100644 4.1/1.py delete mode 100644 4.1/10.py delete mode 100644 4.1/2.py delete mode 100644 4.1/3.py delete mode 100644 4.1/4.py delete mode 100644 4.1/41.ipynb delete mode 100644 4.1/5.py delete mode 100644 4.1/6.py delete mode 100644 4.1/7.py delete mode 100644 4.1/8.py delete mode 100644 4.1/9.py delete mode 100644 4.2/1.py delete mode 100644 4.2/10.py delete mode 100644 4.2/2.py delete mode 100644 4.2/3.py delete mode 100644 4.2/4.py delete mode 100644 4.2/5.py delete mode 100644 4.2/6.py delete mode 100644 4.2/7.py delete mode 100644 4.2/8.py delete mode 100644 4.2/9.py delete mode 100644 4.3/1.py delete mode 100644 4.3/10.py delete mode 100644 4.3/2.py delete mode 100644 4.3/3.py delete mode 100644 4.3/4.py delete mode 100644 4.3/5.py delete mode 100644 4.3/6.py delete mode 100644 4.3/7.py delete mode 100644 4.3/8.py delete mode 100644 4.3/9.py delete mode 100644 4.4/1.py delete mode 100644 4.4/2.py delete mode 100644 4.4/3.py delete mode 100644 4.4/4.py delete mode 100644 4.4/5.py delete mode 100644 makefiles.py create mode 100644 md1.txt delete mode 100644 py_write.py delete mode 100644 test.py diff --git a/.gitignore b/.gitignore index 9bbabee..e69de29 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +0,0 @@ -md.txt -output.ipynb -todo.txt \ No newline at end of file diff --git a/2.1/1.py b/2.1/1.py deleted file mode 100644 index 522b017..0000000 --- a/2.1/1.py +++ /dev/null @@ -1 +0,0 @@ -print("Привет, Яндекс!") \ No newline at end of file diff --git a/2.1/10.py b/2.1/10.py deleted file mode 100644 index c87b971..0000000 --- a/2.1/10.py +++ /dev/null @@ -1,3 +0,0 @@ -kid_name, num = input(), int(input()) -print(f"Группа в„–{num // 100}.", f"{num % 10}. {kid_name}.", f"Шкафчик: {num}.", sep="\n") -print(f"Кроватка: {(num % 100) // 10}.") \ No newline at end of file diff --git a/2.1/11.py b/2.1/11.py deleted file mode 100644 index 80ab1f6..0000000 --- a/2.1/11.py +++ /dev/null @@ -1,3 +0,0 @@ -s = input() -s = s[1] + s[0] + s[3] + s[2] -print(s) \ No newline at end of file diff --git a/2.1/12.py b/2.1/12.py deleted file mode 100644 index e0540c7..0000000 --- a/2.1/12.py +++ /dev/null @@ -1,13 +0,0 @@ -n1, n2 = input(), input() -max_len = max(len(n1), len(n2)) -if len(n1) < max_len: - n1 = "0" * (max_len - len(n1)) + n1 - -if len(n2) < max_len: - n2 = "0" * (max_len - len(n2)) + n2 - -res = "" -for i in range(max_len - 1, -1, -1): - res = str((int(n1[i]) + int(n2[i])) % 10) + res - -print(res) \ No newline at end of file diff --git a/2.1/13.py b/2.1/13.py deleted file mode 100644 index 7648cb0..0000000 --- a/2.1/13.py +++ /dev/null @@ -1,3 +0,0 @@ -kid_c, cand_c = int(input()), int(input()) -print(cand_c // kid_c) -print(cand_c % kid_c) \ No newline at end of file diff --git a/2.1/14.py b/2.1/14.py deleted file mode 100644 index adf7428..0000000 --- a/2.1/14.py +++ /dev/null @@ -1,2 +0,0 @@ -red_c, green_c, blue_c = int(input()), int(input()), int(input()) -print(red_c + blue_c + 1) \ No newline at end of file diff --git a/2.1/15.py b/2.1/15.py deleted file mode 100644 index 479a00a..0000000 --- a/2.1/15.py +++ /dev/null @@ -1,16 +0,0 @@ -n, m, t = int(input()), int(input()), int(input()) -n += t // 60 -m += t % 60 -while m > 59: - m -= 60 - n += 1 -while n > 23: - n -= 24 - -s = "" -for arg in [n, m]: - if arg < 10: - s += "0" - s += str(arg) -s = s[:2] + ":" + s[2:] -print(s) \ No newline at end of file diff --git a/2.1/16.py b/2.1/16.py deleted file mode 100644 index 8a0dafd..0000000 --- a/2.1/16.py +++ /dev/null @@ -1,12 +0,0 @@ -a, b, c = int(input()), int(input()), int(input()) -dist = a - b - -if dist < 0: - dist *= -1 - -time = str(dist / c).split(".") -if len(time[1]) < 2: - time[1] += "0" -elif len(time) > 2: - time[1] = time[1][:2] -print(".".join(time)) \ No newline at end of file diff --git a/2.1/17.py b/2.1/17.py deleted file mode 100644 index 3ea2454..0000000 --- a/2.1/17.py +++ /dev/null @@ -1 +0,0 @@ -print(int(input()) + int(input(), 2)) \ No newline at end of file diff --git a/2.1/18.py b/2.1/18.py deleted file mode 100644 index 1601c62..0000000 --- a/2.1/18.py +++ /dev/null @@ -1 +0,0 @@ -print(-1 * int(input(), 2) + int(input())) \ No newline at end of file diff --git a/2.1/19.py b/2.1/19.py deleted file mode 100644 index 6853e1d..0000000 --- a/2.1/19.py +++ /dev/null @@ -1,8 +0,0 @@ -name, cost, weight, mon = input(), int(input()), int(input()), int(input()) -print("=" * 16, "Чек", "=" * 16, sep="") -print("Товар:", " " * (29 - len(str(name))), name, sep="") -print("Цена:", " " * (19 - len(str(weight)) - len(str(cost))), f"{weight}РєРі * {cost}СЂСѓР±/РєРі", sep="") -print("Ртого:", " " * (26 - len(str(weight * cost))), f"{weight * cost}СЂСѓР±", sep="") -print("Внесено:", " " * (24 - len(str(mon))), f"{mon}СЂСѓР±", sep="") -print("Сдача:", " " * (26 - len(str(mon - (weight * cost)))), f"{mon - (weight * cost)}СЂСѓР±", sep="") -print("=" * 35) \ No newline at end of file diff --git a/2.1/2.py b/2.1/2.py deleted file mode 100644 index fc09fd2..0000000 --- a/2.1/2.py +++ /dev/null @@ -1,3 +0,0 @@ -print("Как Вас Р·РѕРІСѓС‚?") -name = input() -print(f"Привет, {name}") \ No newline at end of file diff --git a/2.1/20.py b/2.1/20.py deleted file mode 100644 index ae8b796..0000000 --- a/2.1/20.py +++ /dev/null @@ -1,4 +0,0 @@ -n, m, k1, k2 = int(input()), int(input()), int(input()), int(input()) -x = int((n * m - k2 * n) / (k1 - k2)) -y = n - x -print(x, y) \ No newline at end of file diff --git a/2.1/21.ipynb b/2.1/21.ipynb deleted file mode 100644 index f1a671d..0000000 --- a/2.1/21.ipynb +++ /dev/null @@ -1,666 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Привет, Яндекс!**\n", - "РљРѕРіРґР° РјС‹ РїСЂРёС…РѕРґРёРј РЅР° встречу, то первым делом здороваемся. Давайте тоже поприветствуем Яндекс.\n", - "### **Формат вывода:**\n", - "РћРґРЅР° строка: «Привет, Яндекс!В»\n", - "### **Пример**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "||Привет, Яндекс!|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"Привет, Яндекс!\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Привет, всем!**\n", - "РќРѕ вообще, хорошо Р±С‹ узнать РёРјСЏ собеседника, Р° уже потом его приветствовать.<br>Напишите диалоговую программу, которая сначала познакомится СЃРѕ СЃРІРѕРёРј пользователем, Р° затем поздоровается СЃ РЅРёРј.\n", - "### **Формат РІРІРѕРґР°:**\n", - "РћРґРЅР° строка — РёРјСЏ пользователя программы.\n", - "### **Формат вывода:**\n", - "Р’ первой строке написан РІРѕРїСЂРѕСЃ: «Как Вас Р·РѕРІСѓС‚?В» Р’Рѕ второй строке — приветствие пользователя: «Привет, %username%В».В»\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|Ann<br> <br>|Как Вас Р·РѕРІСѓС‚?<br>Привет, Ann|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|Bob<br> <br>|Как Вас Р·РѕРІСѓС‚?<br>Привет, Bob|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(\"Как Вас Р·РѕРІСѓС‚?\")\n", - "name = input()\n", - "print(f\"Привет, {name}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Рзлишняя автоматизация**\n", - "«Повторение — мать учения!В» Рё «Если это можно автоматизировать — автоматизируй!В»<br>Ртим принципам следуют РјРЅРѕРіРёРµ программисты. РќРѕ что будет, если РёС… объединить?\n", - "### **Формат РІРІРѕРґР°:**\n", - "РћРґРЅР° строка — весьма полезная информация.\n", - "### **Формат вывода:**\n", - "Трижды повторённая весьма полезная информация.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|2 + 2 = 4<br> <br> <br>|2 + 2 = 4<br>2 + 2 = 4<br>2 + 2 = 4|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|2 + 2 = 4<br> <br> <br>|2 + 2 = 4<br>2 + 2 = 4<br>2 + 2 = 4|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "trash = input()\n", - "for _ in range(3):\n", - " print(trash)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Сдача**\n", - "Чаще всего автоматизация идёт РЅР° пользу.<br>РћРґРЅР° РёР· задач, РІ которой лучше исключить человеческий фактор, — подсчёт сдачи.<br>Определите, какую сдачу нужно выдать тому, кто РєСѓРїРёР» 2,5РєРі черешни РїРѕ цене 38 СЂСѓР±/РєРі.\n", - "### **Формат РІРІРѕРґР°:**\n", - "РћРґРЅРѕ натуральное число - номинал РєСѓРїСЋСЂС‹ пользователя (≥100).\n", - "### **Формат вывода:**\n", - "РћРґРЅРѕ натуральное число — размер сдачи.\n", - "### **Пример**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|100|5|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "mon = int(input())\n", - "cost = int(2.5 * 38)\n", - "print(mon - cost)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Магазин**\n", - "РљСЂРѕРјРµ черешни РІ магазине продаётся множество РґСЂСѓРіРёС… товаров, которые продаются РЅР° развес.<br>Давайте автоматизируем расчёт сдачи Рё для РЅРёС…!\n", - "### **Формат РІРІРѕРґР°:**\n", - "РўСЂРё натуральных числа:\n", - "* цена товара;\n", - "* вес товара;\n", - "* количество денег Сѓ пользователя.\n", - "### **Формат вывода:**\n", - "Трижды повторённая весьма полезная информация.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|2<br>3<br>10|4<br> <br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|187<br>43<br>8041|0<br> <br> <br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "cost, weight, mon = int(input()), int(input()), int(input())\n", - "print(mon - (cost * weight))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Чек**\n", - "Сдачу посчитать, конечно, РІСЃРµ РјРѕРіСѓС‚, РЅРѕ красивый чек напечатать — РЅРµ так просто.\n", - "### **Формат РІРІРѕРґР°:**\n", - "* название товара;\n", - "* цена товара;\n", - "* вес товара;\n", - "* количество денег Сѓ пользователя.\n", - "### **Формат вывода:**\n", - "Чек<br><название товара> - <вес>РєРі - <цена>СЂСѓР±/РєРі<br>Ртого: <итоговая стоимость>СЂСѓР±<br>Внесено: <количество денег РѕС‚ пользователя>СЂСѓР±<br>Сдача: <сдача>СЂСѓР±\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|черешня<br>2<br>3<br>10<br> <br>|Чек<br>черешня - 3РєРі - 2СЂСѓР±/РєРі<br>Ртого: 6СЂСѓР±<br>Внесено: 10СЂСѓР±<br>Сдача: 4СЂСѓР±|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|манго<br>187<br>43<br>8041<br> <br>|Чек<br>манго - 43РєРі - 187СЂСѓР±/РєРі<br>Ртого: 8041СЂСѓР±<br>Внесено: 8041СЂСѓР±<br>Сдача: 0СЂСѓР±|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "name, cost, weight, mon = input(), int(input()), int(input()), int(input())\n", - "print(\"Чек\", f\"{name} - {weight}РєРі - {cost}СЂСѓР±/РєРі\", f\"Ртого: {cost * weight}СЂСѓР±\", sep=\"\\n\")\n", - "print(f\"Внесено: {mon}СЂСѓР±\", f\"Сдача: {mon - (cost * weight)}СЂСѓР±\", sep=\"\\n\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Делу — время, потехе — час**\n", - "Давайте передохнём РѕС‚ автоматизации Рё сделаем что-то действительно интересное.\n", - "### **Формат РІРІРѕРґР°:**\n", - "РћРґРЅРѕ натуральное число N\n", - "### **Формат вывода:**\n", - "N строк СЃ фразой: \"РљСѓРїРё слона!\"\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|1|РљСѓРїРё слона!|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|3<br> <br> <br>|РљСѓРїРё слона!<br>РљСѓРїРё слона!<br>РљСѓРїРё слона!|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "n = int(input())\n", - "for _ in range(n):\n", - " print(\"РљСѓРїРё слона!\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Наказание**\n", - "Наше развлечение РЅРµ осталось незамеченным...<br>Рнаказание нам выбрали соответствующее.<br><br>Р’ первой строке записано РѕРґРЅРѕ натуральное число N<br>Р’Рѕ второй строке записана часть наказания.<br><br>N строк РІРёРґР°: РЇ больше РЅРёРєРѕРіРґР° РЅРµ Р±СѓРґСѓ писать \"<часть наказания>\"!\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|2<br>РљСѓРїРё слона!|РЇ больше РЅРёРєРѕРіРґР° РЅРµ Р±СѓРґСѓ писать \"РљСѓРїРё слона!\"!<br>РЇ больше РЅРёРєРѕРіРґР° РЅРµ Р±СѓРґСѓ писать \"РљСѓРїРё слона!\"!|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|3<br>РџРѕРїРєР° дурак!|РЇ больше РЅРёРєРѕРіРґР° РЅРµ Р±СѓРґСѓ писать \"РџРѕРїРєР° дурак!\"!<br>РЇ больше РЅРёРєРѕРіРґР° РЅРµ Р±СѓРґСѓ писать \"РџРѕРїРєР° дурак!\"!<br>РЇ больше РЅРёРєРѕРіРґР° РЅРµ Р±СѓРґСѓ писать \"РџРѕРїРєР° дурак!\"!|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "n = int(input())\n", - "s = input()\n", - "for _ in range(n):\n", - " print(f'РЇ больше РЅРёРєРѕРіРґР° РЅРµ Р±СѓРґСѓ писать \"{s}\"!')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Деловая колбаса**\n", - "Настало время для действительно серьёзных задач...<br>Р’ детском саду 2 ребенка съедают 2 РєСѓСЃРєР° колбасы Р·Р° 2 минуты. Сколько РєСѓСЃРєРѕРІ колбасы Р·Р° N РјРёРЅСѓС‚ съедят M детей?\n", - "### **Формат РІРІРѕРґР°**\n", - "Р’ первой строке записано натуральное число N≥1<br>Р’Рѕ второй строке записано натуральное число M≥1\n", - "### **Формат вывода**\n", - "РћРґРЅРѕ натуральное число — количество РєСѓСЃРєРѕРІ колбасы, съеденных детьми\n", - "### **Примечание**\n", - "Гарантируется, что РІ результате вычислений будет получено натуральное число.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|2<br>2|2<br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|10<br>10|10<br> <br>|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# скорость ребёнка = 0.5 колбаса/РјРёРЅ\n", - "t, kid_c = int(input()), int(input())\n", - "print(int(0.5 * t * kid_c))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Детский сад — штаны РЅР° лямках**\n", - "Р’ продолжение темы детского сада давайте Рё там что-РЅРёР±СѓРґСЊ автоматизируем.<br>Р—Р° каждым ребёнком закреплён шкафчик Рё кровать. Номер шкафчика состоит РёР· трёх цифр:<br>\n", - "* номер РіСЂСѓРїРїС‹ РІ саду;\n", - "* номер кроватки, закреплённой Р·Р° ребёнком;\n", - "* порядковый номер ребёнка РІ СЃРїРёСЃРєРµ РіСЂСѓРїРїС‹.\n", - "\n", - "Воспитатель РїСЂРѕСЃРёС‚ сделать программу, которая РїРѕ имени ребенка Рё номеру его шкафчика формирует «красивую» карточку для личного дела.\n", - "### **Формат РІРІРѕРґР°**\n", - "Р’ первой строке записано РёРјСЏ ребенка.<br>Р’Рѕ второй строке записан номер шкафчика.\n", - "### **Формат вывода**\n", - "Карточка РІ РІРёРґРµ:<br>\n", - "Группа в„–<номер РіСЂСѓРїРїС‹>. <br><номер ребёнка РІ СЃРїРёСЃРєРµ>. <РёРјСЏ ребенка>. <br>Шкафчик: <номер шкафчика>. <br>Кроватка: <номер кроватки>.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|Ванечка<br>832<br> <br> <br>|Группа в„–8.<br>2. Ванечка.<br>Шкафчик: 832.<br>Кроватка: 3.|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|Машенька<br>141<br> <br> <br>|Группа в„–1.<br>1. Машенька.<br>Шкафчик: 141.<br>Кроватка: 4.|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "kid_name, num = input(), int(input())\n", - "print(f\"Группа в„–{num // 100}.\", f\"{num % 10}. {kid_name}.\", f\"Шкафчик: {num}.\", sep=\"\\n\")\n", - "print(f\"Кроватка: {(num % 100) // 10}.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Автоматизация РёРіСЂС‹**\n", - "Р’СЃС‘ РІ том же детском саду ребята очень любят играть СЃ цифрами.<br>РћРґРЅР° РёР· таких РёРіСЂ — перестановка цифр четырёхзначного числа.<br>Напишите программу для робота-РЅСЏРЅРё, которая РёР· числа РІРёРґР° abcd составляет число badc.\n", - "### **Формат РІРІРѕРґР°**\n", - "РћРґРЅРѕ четырёхзначное число.\n", - "### **Формат вывода**\n", - "РћРґРЅРѕ четырёхзначное число — результат перестановки.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|1234|2143|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|1412|4121|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "s = input()\n", - "s = s[1] + s[0] + s[3] + s[2]\n", - "print(s)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Рнтересное сложение**\n", - "РћРґРёРЅ малыш РёР· детского сада услышал РѕС‚ старшей сестры Рѕ некоем действии СЃ числами — сложении.<br>Ркак это часто бывает — РѕРЅ РЅРµ РґРѕ конца разобрался, как работает сложение. Например, РЅРµ совсем РїРѕРЅСЏР», как произвести перенос разряда.<br>Теперь РѕРЅ хочет научить сложению остальных ребят Рё РїСЂРѕСЃРёС‚ написать программу, которая поможет ему РІ качестве наглядного материала.\n", - "### **Формат РІРІРѕРґР°**\n", - "Р’ первой Рё второй строках записаны натуральные числа меньше 1000.\n", - "### **Формат вывода**\n", - "РћРґРЅРѕ число — результат сложения введённых чисел без учёта переносов.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|123<br>99|112<br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|405<br>839<br>|234<br> <br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "n1, n2 = input(), input()\n", - "max_len = max(len(n1), len(n2))\n", - "if len(n1) < max_len:\n", - " n1 = \"0\" * (max_len - len(n1)) + n1\n", - "\n", - "if len(n2) < max_len:\n", - " n2 = \"0\" * (max_len - len(n2)) + n2\n", - "\n", - "res = \"\"\n", - "for i in range(max_len - 1, -1, -1):\n", - " res = str((int(n1[i]) + int(n2[i])) % 10) + res\n", - "\n", - "print(res)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Дед РњРѕСЂРѕР· Рё конфеты**\n", - "Настало самое главное событие РІ детском саду — РЅРѕРІРѕРіРѕРґРЅРёР№ утренник.<br>Хорошо замаскированная СЂРѕР±РѕРЅСЏРЅСЏ РІ роли Деда РњРѕСЂРѕР·Р° решила раздать детям конфеты так, чтобы каждому досталось РїРѕСЂРѕРІРЅСѓ. Напишите для СЂРѕР±РѕРЅСЏРЅРё алгоритм, который поможет распределить конфеты.\n", - "### **Формат РІРІРѕРґР°**\n", - "Р’ первой строке указано количество детей РЅР° утреннике.<br>Р’Рѕ второй строке — количество конфет РІ конфетном отсеке СЂРѕР±РѕРЅСЏРЅРё.\n", - "### **Формат вывода**\n", - "Сначала выведите количество конфет, которое выдано каждому ребенку, Р° затем количество конфет, что осталось РІ конфетном отсеке.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|3<br>100<br>|33<br>1|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|20<br>500<br>|25<br>0|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "kid_c, cand_c = int(input()), int(input())\n", - "print(cand_c // kid_c)\n", - "print(cand_c % kid_c)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Шарики Рё ручки**\n", - "РРЅРѕРіРґР° ребята РІ детском саду скучают, поэтому РѕРЅРё постоянно придумывают себе РЅРµ очень сложные, РЅРѕ веселые, РїРѕ РёС… мнению, РёРіСЂС‹.<br>Р’ РіСЂСѓРїРїРµ есть ящик СЃ шариками, количество которых детям заранее неизвестно, следующих цветов:<br>\n", - "* красный;\n", - "* зеленый;\n", - "* СЃРёРЅРёР№.\n", - "\n", - "РРіСЂР° заключается РІ том, что каждый ребенок РїРѕРґС…РѕРґРёС‚ Рє ящику Рё, РЅРµ глядя, вытаскивает РѕРґРёРЅ шарик, победителем считается тот, кто первым вытащит зелёный шарик.<br>Как РІС‹ думаете, через какое максимальное количество С…РѕРґРѕРІ дети выяснят победителя РёРіСЂС‹?\n", - "### **Формат РІРІРѕРґР°**\n", - "РўСЂРё натуральных числа, каждое РЅР° РЅРѕРІРѕР№ строке (количество красных, зеленых Рё СЃРёРЅРёС… шаров соответственно).\n", - "### **Формат вывода**\n", - "РћРґРЅРѕ число — максимальное количество С…РѕРґРѕРІ, которое потребуется для определения победителя.\n", - "### **Пример**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|1<br>2<br>3<br>|5<br> <br> <br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "red_c, green_c, blue_c = int(input()), int(input()), int(input())\n", - "print(red_c + blue_c + 1)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Р’ ожидании доставки**\n", - "Сегодня РІ N часов M РјРёРЅСѓС‚ С…РѕР·СЏРёРЅ магазина заказал доставку РЅРѕРІРѕРіРѕ товара. Оператор сказал, что продукты доставят через T РјРёРЅСѓС‚.<br>Сколько будет времени РЅР° электронных часах, РєРѕРіРґР° привезут долгожданные продукты?<br><br>Р’ первой строке записано натуральное число N ($0≤N<24$).<br>Р’Рѕ второй строке записано натуральное число M ($0≤M<60$).<br>Р’ третьей строке записано натуральное число T ($30≤T<10^{9}$).<br><br>РћРґРЅР° строка, представляющая циферблат электронных часов.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|8<br>0<br>65<br>|09:05<br> <br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|10<br>15<br>2752<br>|08:07<br> <br> <br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "n, m, t = int(input()), int(input()), int(input())\n", - "n += t // 60\n", - "m += t % 60\n", - "while m > 59:\n", - " m -= 60\n", - " n += 1\n", - "while n > 23:\n", - " n -= 24\n", - "\n", - "s = \"\"\n", - "for arg in [n, m]:\n", - " if arg < 10:\n", - " s += \"0\"\n", - " s += str(arg)\n", - "s = s[:2] + \":\" + s[2:]\n", - "print(s)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Доставка**\n", - "Продуктовый склад Рё магазин находятся РЅР° РѕРґРЅРѕР№ РґРѕСЂРѕРіРµ РіРѕСЂРѕРґР° Рќ.<br>Склад находится РЅР° отметке A РєРј, Р° магазин — B РєРј. Средняя скорость автомобиля, доставляющего товары, C РєРј/С‡.<br>Р—Р° какое время продукты попадают СЃРѕ склада РІ магазин?\n", - "### **Формат РІРІРѕРґР°**\n", - "РўСЂРё натуральных числа A, B Рё C, каждое РЅР° отдельной строке.\n", - "### **Формат вывода**\n", - "РћРґРЅРѕ рациональное число СЃ точностью РґРѕ сотых.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|10<br>32<br>5|4.40<br> <br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|1<br>100<br>30|3.30<br> <br> <br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "a, b, c = int(input()), int(input()), int(input())\n", - "dist = a - b\n", - "\n", - "if dist < 0:\n", - " dist *= -1\n", - "\n", - "time = str(dist / c).split(\".\")\n", - "if len(time[1]) < 2:\n", - " time[1] += \"0\"\n", - "elif len(time) > 2:\n", - " time[1] = time[1][:2]\n", - "print(\".\".join(time))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Ошибка кассового аппарата**\n", - "РњС‹ уже помогали магазину СЃ расчётами Рё формированием чеков, РЅРѕ сегодня кассовый аппарат вместо привычных продавцу десятичных чисел начал выдавать двоичные.<br>Техподдержка приедет только завтра, Р° магазин должен продолжать работать. Надо помочь.\n", - "### **Формат РІРІРѕРґР°**\n", - "Р’ первой строке записано десятичное число — общая СЃСѓРјРјР° купленных РІ магазине товаров РЅР° данный момент.<br>Р’Рѕ второй строке указано двоичное число — СЃСѓРјРјР° Р·Р° последнюю РїРѕРєСѓРїРєСѓ.\n", - "### **Формат вывода**\n", - "РћРґРЅРѕ десятичное число — СЃСѓРјРјР° выручки Р·Р° день СЃ учётом последней РїРѕРєСѓРїРєРё.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|123<br>1101|136<br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|783<br>10110111|966<br> <br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(int(input()) + int(input(), 2))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Сдача 10**\n", - "Кстати, несмотря РЅР° ошибку аппарата, сдачу тоже нужно отдавать.\n", - "### **Формат РІРІРѕРґР°**\n", - "Цена РїРѕРєСѓРїРєРё — двоичное число, выданное кассовым аппаратом.<br>Номинал РєСѓРїСЋСЂС‹ пользователя — десятичное число (≥100).\n", - "### **Формат вывода**\n", - "РћРґРЅРѕ десятичное число — сдача, которую требуется отдать пользователю.\n", - "### **Примечание**\n", - "Р’СЃРµ числа, используемые РІ задаче, целые.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|1001001<br>100|27<br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|101111100<br>500|120<br> <br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(-1 * int(input(), 2) + int(input()))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Украшение чека**\n", - "Давайте приведём РІ РїРѕСЂСЏРґРѕРє чек, который печатали ранее.<br>Р’СЃРµ строки должны быть длиной РІ 35 символов.\n", - "### **Формат РІРІРѕРґР°**\n", - "Название товара;<br>цена товара;<br>вес товара;<br>количество денег Сѓ пользователя.\n", - "### **Формат вывода**\n", - "Красивый чек РІ формате:<br>\n", - "================Чек================<br>Товар:                         <РїСЂРѕРґСѓРєС‚><br>Цена:             <число>РєРі * <число>СЂСѓР±/РєРі<br>Ртого:   &eС‚sp;               <число>СЂСѓР±<br>Внесено:                     <число>СЂСѓР±<br>Сдача:                     <число>СЂСѓР±<br>===================================\n", - "### **Примечание**\n", - "Р’ данный момент примеры ниже визуализируются неправильно.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|черешня<br>2<br>3<br>10<br> <br> <br> <br>|================Чек================<br>Товар:                         черешня<br>Цена:                       3РєРі * 2СЂСѓР±/РєРі<br>Ртого:                             6СЂСѓР±<br>Внесено:                       10СЂСѓР±<br>Сдача:                             4СЂСѓР±<br>===================================|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|манго<br>187<br>43<br>8041<br> <br> <br> <br>|================Чек================<br>Товар:                           манго<br>Цена: nbsp; nbsp;             43РєРі * 187СЂСѓР±/РєРі<br>Ртого:                           8041СЂСѓР±<br>Внесено:                     8041СЂСѓР±<br>Сдача:                             0СЂСѓР±<br>===================================|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "name, cost, weight, mon = input(), int(input()), int(input()), int(input())\n", - "print(\"=\" * 16, \"Чек\", \"=\" * 16, sep=\"\")\n", - "print(\"Товар:\", \" \" * (29 - len(str(name))), name, sep=\"\")\n", - "print(\"Цена:\", \" \" * (19 - len(str(weight)) - len(str(cost))), f\"{weight}РєРі * {cost}СЂСѓР±/РєРі\", sep=\"\")\n", - "print(\"Ртого:\", \" \" * (26 - len(str(weight * cost))), f\"{weight * cost}СЂСѓР±\", sep=\"\")\n", - "print(\"Внесено:\", \" \" * (24 - len(str(mon))), f\"{mon}СЂСѓР±\", sep=\"\")\n", - "print(\"Сдача:\", \" \" * (26 - len(str(mon - (weight * cost)))), f\"{mon - (weight * cost)}СЂСѓР±\", sep=\"\")\n", - "print(\"=\" * 35)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **РњСѓС…Рё отдельно, котлеты отдельно**\n", - "Вернёмся РІ магазин, С…РѕР·СЏРёРЅ которого уже привык полагаться РЅР° всемогущую автоматизацию.<br><br>Помогите ему разобраться СЃ РѕРґРЅРѕР№ проблемой. Далее его история: «Пару дней назад СЏ РєСѓРїРёР» РґРІРµ партии котлет Рё РїРѕ случайности высыпал РёС… РЅР° РѕРґРёРЅ прилавок. Общий вес котлет составил $N$ килограмм, Р° ценник — $M$ рублей Р·Р° килограмм.<br>Сегодня СЏ обнаружил, что накладные РЅР° эти РІРёРґС‹ котлет потерялись, РЅРѕ СЏ РїРѕРјРЅСЋ, что первый РІРёРґ котлет стоил $K_1$ рублей Р·Р° килограмм, Р° второй — $K_2$ .<br><br>Помогите РјРЅРµ вспомнить вес каждой партии котлет, чтобы поставить РёС… РЅР° учёт.\n", - "### **Формат РІРІРѕРґР°**\n", - "Р’ первой строке записано натуральное число $N$<br>Р’Рѕ второй строке — натуральное число $M$<br>Р’ третьей строке — натуральное число $K_1$ <br>Р’ четвёртой строке — натуральное число $K_2$ <br>Причём доподлинно известно, что второй РІРёРґ котлет стоит меньше, чем первый.\n", - "### **Формат вывода**\n", - "Два натуральных числа, записанных через пробел — вес обеих партий котлет.\n", - "### **Пример**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|32<br>285<br>300<br>240|24 8<br> <br> <br> <br>|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "n, m, k1, k2 = int(input()), int(input()), int(input()), int(input())\n", - "x = int((n * m - k2 * n) / (k1 - k2))\n", - "y = n - x\n", - "print(x, y)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "name": "python", - "version": "3.11.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/2.1/3.py b/2.1/3.py deleted file mode 100644 index aa46707..0000000 --- a/2.1/3.py +++ /dev/null @@ -1,3 +0,0 @@ -trash = input() -for _ in range(3): - print(trash) \ No newline at end of file diff --git a/2.1/4.py b/2.1/4.py deleted file mode 100644 index ca8a85b..0000000 --- a/2.1/4.py +++ /dev/null @@ -1,3 +0,0 @@ -mon = int(input()) -cost = int(2.5 * 38) -print(mon - cost) \ No newline at end of file diff --git a/2.1/5.py b/2.1/5.py deleted file mode 100644 index 4415ee1..0000000 --- a/2.1/5.py +++ /dev/null @@ -1,2 +0,0 @@ -cost, weight, mon = int(input()), int(input()), int(input()) -print(mon - (cost * weight)) \ No newline at end of file diff --git a/2.1/6.py b/2.1/6.py deleted file mode 100644 index 10975ef..0000000 --- a/2.1/6.py +++ /dev/null @@ -1,3 +0,0 @@ -name, cost, weight, mon = input(), int(input()), int(input()), int(input()) -print("Чек", f"{name} - {weight}РєРі - {cost}СЂСѓР±/РєРі", f"Ртого: {cost * weight}СЂСѓР±", sep="\n") -print(f"Внесено: {mon}СЂСѓР±", f"Сдача: {mon - (cost * weight)}СЂСѓР±", sep="\n") \ No newline at end of file diff --git a/2.1/7.py b/2.1/7.py deleted file mode 100644 index ce64811..0000000 --- a/2.1/7.py +++ /dev/null @@ -1,3 +0,0 @@ -n = int(input()) -for _ in range(n): - print("РљСѓРїРё слона!") \ No newline at end of file diff --git a/2.1/8.py b/2.1/8.py deleted file mode 100644 index 8408343..0000000 --- a/2.1/8.py +++ /dev/null @@ -1,4 +0,0 @@ -n = int(input()) -s = input() -for _ in range(n): - print(f'РЇ больше РЅРёРєРѕРіРґР° РЅРµ Р±СѓРґСѓ писать "{s}"!') \ No newline at end of file diff --git a/2.1/9.py b/2.1/9.py deleted file mode 100644 index 7b82064..0000000 --- a/2.1/9.py +++ /dev/null @@ -1,3 +0,0 @@ -# скорость ребёнка = 0.5 колбаса/РјРёРЅ -t, kid_c = int(input()), int(input()) -print(int(0.5 * t * kid_c)) \ No newline at end of file diff --git a/2.2/1.py b/2.2/1.py deleted file mode 100644 index 46321cb..0000000 --- a/2.2/1.py +++ /dev/null @@ -1,7 +0,0 @@ -name = input("Как Вас Р·РѕРІСѓС‚?\n") -print(f"Здравствуйте, {name}!") -status = input("Как дела?\n") -if status == "хорошо": - print("РЇ Р·Р° вас рада!") -else: - print("Р’СЃС‘ наладится!") \ No newline at end of file diff --git a/2.2/10.py b/2.2/10.py deleted file mode 100644 index 4af39d0..0000000 --- a/2.2/10.py +++ /dev/null @@ -1,6 +0,0 @@ -n = int(input()) - -s1 = ((n % 100) // 10) + (n % 10) -s2 = (n // 100) + ((n % 100) // 10) - -print(max(s1, s2), min(s1, s2), sep="") \ No newline at end of file diff --git a/2.2/11.py b/2.2/11.py deleted file mode 100644 index 1d20342..0000000 --- a/2.2/11.py +++ /dev/null @@ -1,6 +0,0 @@ -arr = [int(i) for i in input()] -arr.sort() -if arr[0] + arr[2] == arr[1] * 2: - print("YES") -else: - print("NO") \ No newline at end of file diff --git a/2.2/12.py b/2.2/12.py deleted file mode 100644 index 7a80692..0000000 --- a/2.2/12.py +++ /dev/null @@ -1,14 +0,0 @@ -arr = [int(input()) for _ in range(3)] - -summ = sum(arr) - -f = True - -for i in arr: - if i >= summ - i: - f = False - -if f: - print("YES") -else: - print("NO") \ No newline at end of file diff --git a/2.2/13.py b/2.2/13.py deleted file mode 100644 index ff5765f..0000000 --- a/2.2/13.py +++ /dev/null @@ -1,6 +0,0 @@ -arr = [input() for _ in range(3)] - -for i in arr[0]: - if i in arr[1] and i in arr[2]: - print(i) - break \ No newline at end of file diff --git a/2.2/14.py b/2.2/14.py deleted file mode 100644 index 3dd313d..0000000 --- a/2.2/14.py +++ /dev/null @@ -1,7 +0,0 @@ -num = input() -arr = [] -arrtest = [num[0] + num[1], num[1] + num[0], num[1] + num[2], num[2] + num[1], num[0] + num[2], num[2] + num[0]] -for i in arrtest: - if int(i) >= 10: - arr.append(int(i)) -print(min(arr), max(arr)) \ No newline at end of file diff --git a/2.2/15.py b/2.2/15.py deleted file mode 100644 index 6835000..0000000 --- a/2.2/15.py +++ /dev/null @@ -1,4 +0,0 @@ -a, b = input(), input() -nums = [int(i) for i in sorted([a[0], a[1], b[0], b[1]])] - -print(f"{nums[3]}{(nums[1] + nums[2]) % 10}{nums[0]}") \ No newline at end of file diff --git a/2.2/16.py b/2.2/16.py deleted file mode 100644 index 56a5085..0000000 --- a/2.2/16.py +++ /dev/null @@ -1,11 +0,0 @@ -names = ("Петя", "Вася", "Толя") -speed = {int(input()): names[i] for i in range(3)} -text = [] -speed_list = list(speed.keys()) -speed_sorted = sorted(speed_list) -text = ["", "", "", " II I III "] -text[0] = (10 * " " + speed[speed_sorted[2]] + " " * 10) -text[1] = (2 * " " + speed[speed_sorted[1]] + " " * 18) -text[2] = (18 * " " + speed[speed_sorted[0]] + " " * 2) - -print(*text, sep="\n") \ No newline at end of file diff --git a/2.2/17.py b/2.2/17.py deleted file mode 100644 index 09a7b48..0000000 --- a/2.2/17.py +++ /dev/null @@ -1,25 +0,0 @@ -a, b, c = [float(input()) for _ in range(3)] -if a == b == c == 0: - print("Infinite solutions") -elif a == b == 0: - print("No solution") -elif a == 0: - x = (-1 * c) / b - - print("%.2f" % x) - -else: - d = b ** 2 - 4 * a * c - if d > 0: - x1 = min((-1 * b + d ** 0.5) / (2 * a), (-1 * b - d ** 0.5) / (2 * a)) - x2 = max((-1 * b + d ** 0.5) / (2 * a), (-1 * b - d ** 0.5) / (2 * a)) - - print("%.2f" % x1, "%.2f" % x2) - - elif d == 0: - x = (-1 * b) / (2 * a) - - print("%.2f" % x) - - elif d < 0: - print("No solution") \ No newline at end of file diff --git a/2.2/18.py b/2.2/18.py deleted file mode 100644 index 9bb9bb3..0000000 --- a/2.2/18.py +++ /dev/null @@ -1,8 +0,0 @@ -a, b, c = sorted([int(input()) for _ in range(3)]) - -if (a ** 2 + b ** 2 == c ** 2): - print("100%") -elif (a ** 2 + b ** 2 < c ** 2): - print("велика") -else: - print("крайне мала") \ No newline at end of file diff --git a/2.2/19.py b/2.2/19.py deleted file mode 100644 index df78de4..0000000 --- a/2.2/19.py +++ /dev/null @@ -1,23 +0,0 @@ -x, y = float(input()), float(input()) - -if x ** 2 + y ** 2 > 100: - print("Р’С‹ вышли РІ РјРѕСЂРµ Рё рискуете быть съеденным акулой!") -else: - if x >= 0 and y >= 0: - if x ** 2 + y ** 2 <= 25: - print("Опасность! Покиньте Р·РѕРЅСѓ как можно скорее!") - else: - print("Р—РѕРЅР° безопасна. Продолжайте работу.") - elif x < 0 and y > 0: - if y > 5: - print("Р—РѕРЅР° безопасна. Продолжайте работу.") - else: - if y > 5 / 3 * x + 35 / 3: - print("Р—РѕРЅР° безопасна. Продолжайте работу.") - else: - print("Опасность! Покиньте Р·РѕРЅСѓ как можно скорее!") - elif y < 0: - if y < 0.25 * x ** 2 + 0.5 * x - 8.75: - print("Р—РѕРЅР° безопасна. Продолжайте работу.") - else: - print("Опасность! Покиньте Р·РѕРЅСѓ как можно скорее!") \ No newline at end of file diff --git a/2.2/2.py b/2.2/2.py deleted file mode 100644 index d00d392..0000000 --- a/2.2/2.py +++ /dev/null @@ -1,5 +0,0 @@ -a, b = int(input()), int(input()) -if a > b: - print("Петя") -else: - print("Вася") \ No newline at end of file diff --git a/2.2/20.py b/2.2/20.py deleted file mode 100644 index 8eb41f7..0000000 --- a/2.2/20.py +++ /dev/null @@ -1,7 +0,0 @@ -arr = sorted([input() for _ in range(3)]) - -for s in arr: - if "зайка" in s: - print(s, len(s)) - break - \ No newline at end of file diff --git a/2.2/22.ipynb b/2.2/22.ipynb deleted file mode 100644 index a785e2d..0000000 --- a/2.2/22.ipynb +++ /dev/null @@ -1,793 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Просто здравствуй, просто как дела**\n", - "Умение вести диалог — важный навык для воспитанного человека.<br><br>Напишите диалоговую программу, которая сначала познакомится СЃ пользователем, Р° затем поинтересуется его настроением.\n", - "### **Формат РІРІРѕРґР°**\n", - "Р’ первой строке записано РёРјСЏ пользователя.<br>Р’Рѕ второй — ответ РЅР° РІРѕРїСЂРѕСЃ: «хорошо» или «плохо».\n", - "### **Формат вывода**\n", - "Р’ первой строке должен быть РІРѕРїСЂРѕСЃ «Как Вас Р·РѕРІСѓС‚?В»<br>Р’Рѕ второй строке — «Здравствуйте, %username%!В»<br>Р’ третьей строке — РІРѕРїСЂРѕСЃ «Как дела?В»<br>Р’ четвёртой строке реакция РЅР° ответ пользователя:<br>\n", - "* если пользователь ответил «хорошо», следует вывести сообщение «Я Р·Р° вас рада!В»;\n", - "* если пользователь ответил «плохо», следует вывести сообщение «Всё наладится!В».\n", - "\n", - "\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|РђРЅСЏ<br>хорошо<br> <br> <br>|Как Вас Р·РѕРІСѓС‚?<br>Здравствуйте, РђРЅСЏ!<br>Как дела?<br>РЇ Р·Р° вас рада!|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|Боря<br>плохо<br> <br> <br>|Как Вас Р·РѕРІСѓС‚?<br>Здравствуйте, Боря!<br>Как дела?<br>Р’СЃС‘ наладится!|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "name = input(\"Как Вас Р·РѕРІСѓС‚?\\n\")\n", - "print(f\"Здравствуйте, {name}!\")\n", - "status = input(\"Как дела?\\n\")\n", - "if status == \"хорошо\":\n", - " print(\"РЇ Р·Р° вас рада!\")\n", - "else:\n", - " print(\"Р’СЃС‘ наладится!\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Кто быстрее?**\n", - "Р’ главной велогонке РіРѕРґР° участвует более тысячи гонщиков. РРј предстоит пройти трассу длиной 43872Рј. Самая сложная Рё ответственная задача — определение победителя.<br><br>Нам известны средние скорости РґРІСѓС… фаворитов — Пети Рё Васи. Помогите выяснить, кто РёР· РЅРёС… пришёл Рє финишу первым.\n", - "### **Формат РІРІРѕРґР°**\n", - "Р’ первой строке записана средняя скорость Пети.<br>Р’Рѕ второй — Васи.\n", - "### **Формат вывода**\n", - "РРјСЏ победителя РіРѕРЅРєРё.\n", - "### **Примечание**\n", - "Гарантируется, что победителем стал только РѕРґРёРЅ.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|10<br>5|Петя<br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|5<br>7|Вася<br> <br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "a, b = int(input()), int(input())\n", - "if a > b:\n", - " print(\"Петя\")\n", - "else:\n", - " print(\"Вася\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Кто быстрее РЅР° этот раз?**\n", - "Р’РЅРѕРІСЊ велогонщики собрались узнать, кто РёР· РЅРёС… быстрее. РРј предстоит пройти трассу длиной 43872Рј, Рё нам нужно РІРЅРѕРІСЊ определить победителя.<br><br>РќР° этот раз нам известны средние скорости трёх фаворитов — Пети, Васи Рё Толи. Кто РёР· РЅРёС… пришёл Рє финишу первым?\n", - "### **Формат РІРІРѕРґР°**\n", - "Р’ первой строке записана средняя скорость Пети.<br>Р’Рѕ второй — Васи.<br>Р’ третьей — Толи.\n", - "### **Формат вывода**\n", - "РРјСЏ победителя РіРѕРЅРєРё.\n", - "### **Примечание**\n", - "Гарантируется, что победителем стал только РѕРґРёРЅ.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|10<br>5<br>7|Петя<br> <br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|5<br>7<br>10|Толя<br> <br> <br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "a, b, c = int(input()), int(input()), int(input())\n", - "m = max(a, b, c)\n", - "if a == m:\n", - " print(\"Петя\")\n", - "elif b == m:\n", - " print(\"Вася\")\n", - "elif c == m:\n", - " print(\"Толя\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **РЎРїРёСЃРѕРє победителей**\n", - "Длина трассы — 43872Рј, Рё зрители хотят узнать РёРјСЏ победителя.<br><br>Нам известны средние скорости трёх фаворитов – Пети, Васи Рё Толи. Помогите подвести итоги РіРѕРЅРєРё.\n", - "### **Формат РІРІРѕРґР°**\n", - "Р’ первой строке записана средняя скорость Пети.<br>Р’Рѕ второй — Васи.<br>Р’ третьей — Толи.\n", - "### **Формат вывода**\n", - "Рмена победителей РІ РїРѕСЂСЏРґРєРµ занятых мест.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|10<br>5<br>7|1. Петя<br>2. Толя<br>3. Вася<br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|5<br>7<br>10|1. Толя<br>2. Вася<br>3. Петя<br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "a, b, c = int(input()), int(input()), int(input())\n", - "names = [\"Петя\", \"Вася\", \"Толя\"]\n", - "s_d = [a, b, c]\n", - "cnt = 1\n", - "for speed in sorted([a, b, c], reverse=True):\n", - " print(f\"{cnt}. {names[s_d.index(speed)]}\")\n", - " cnt += 1" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Яблоки**\n", - "РЈ Пети было 7 яблок, Р° Сѓ Васи 6.<br><br>Затем Петя отдал 3 яблока Васе, Р° Сѓ Толи РІР·СЏР» 2 яблока.<br><br>Вася РїРѕРїСЂРѕСЃРёР» Сѓ Толи 5 яблок, РЅРѕ РѕРЅ отдал Гене 2.<br><br>Затем Дима дал Пете $N$ яблок, Р° Васе $M$.<br><br>Так Сѓ РєРѕРіРѕ РІ итоге яблок больше — Сѓ Пети или Васи?\n", - "### **Формат РІРІРѕРґР°**\n", - "Р’ первой строке записано натуральное число $N$.<br>Р’Рѕ второй — $M$.\n", - "### **Формат вывода**\n", - "РРјСЏ ребёнка, Сѓ которого больше яблок.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|3<br>5|Вася<br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|10<br>2|Петя<br> <br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "p, v = 7, 6\n", - "p -= 1\n", - "v += 3\n", - "v += 3\n", - "\n", - "n, m = int(input()), int(input())\n", - "\n", - "p += n\n", - "v += m\n", - "if p > v:\n", - " print(\"Петя\")\n", - "else:\n", - " print(\"Вася\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Сила прокрастинации**\n", - "Вася любит полениться. Особенно ему нравится, РєРѕРіРґР° РІ РіРѕРґСѓ появляется такой лишний денёк, которого обычно РЅРµ бывает. Напишите программу, которая поможет Васе определить, удастся ли ему побездельничать РІ определённом РіРѕРґСѓ или нет.<br><br>РћРґРЅРѕ число — РіРѕРґ.<br><br>РћРґРЅРѕ слово В«YESВ» (удастся) или В«NOВ» (РЅРµ удастся).\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|2022|NO|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|2020|YES|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "year = int(input())\n", - "if year % 400 == 0:\n", - " print(\"YES\")\n", - "else:\n", - " if year % 100 == 0:\n", - " print(\"NO\")\n", - " else:\n", - " if year % 4 == 0:\n", - " print(\"YES\")\n", - " else:\n", - " print(\"NO\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Рђ СЂРѕР·Р° упала РЅР° лапу РђР·РѕСЂР°**\n", - "Существуют такое интересное понятие как палиндром — число, слово, предложение Рё так далее, которое Рё слева-направо, Рё справа-налево читается одинаково.<br><br>Напишите программу, которая проверяет, является ли число палиндромом.\n", - "### **Формат РІРІРѕРґР°**\n", - "РћРґРЅРѕ четырёхзначное число\n", - "### **Формат вывода**\n", - "YES если число является палиндромом, иначе — NO.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|1234|NO|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|2332|YES|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "s = input()\n", - "if s == s[::-1]:\n", - " print(\"YES\")\n", - "else:\n", - " print(\"NO\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Зайка — 1**\n", - "Р’ долгой РґРѕСЂРѕРіРµ дети РјРѕРіСѓС‚ капризничать, поэтому родители РёС… развлекают СЃ помощью РёРіСЂ. РћРґРЅР° РёР· РЅРёС… — РїРѕРёСЃРє различных зверушек РІ придорожной растительности.<br><br>Давайте немного поиграем Рё выясним, РЅРµ спрятался ли зайка РІРѕ введённом предложении.\n", - "### **Формат РІРІРѕРґР°**\n", - "Строка описывающая придорожную местность.\n", - "### **Формат вывода**\n", - "YES — если РІ этой местности есть зайка, иначе — NO.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|березка елочка зайка волк березка|YES|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|СЃРѕСЃРЅР° СЃРѕСЃРЅР° СЃРѕСЃРЅР° елочка грибочки медведь|NO|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "s = input()\n", - "if \"зайка\" in s:\n", - " print(\"YES\")\n", - "else:\n", - " print(\"NO\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Первому РёРіСЂРѕРєСѓ приготовиться**\n", - "Р’Рѕ РјРЅРѕРіРёС… играх РїРѕСЂСЏРґРѕРє определяется Р±СЂРѕСЃРєРѕРј РєСѓР±РёРєР° или монетки, — Р° РІ нашей первым С…РѕРґРёС‚ тот, чьё РёРјСЏ лексикографически меньше.<br><br>Определите, кто РёР· РёРіСЂРѕРєРѕРІ будет ходить первым.\n", - "### **Формат РІРІРѕРґР°**\n", - "РўСЂРё имени РёРіСЂРѕРєРѕРІ, каждое РёР· которых записано СЃ РЅРѕРІРѕР№ строки.\n", - "### **Формат вывода**\n", - "РРјСЏ РёРіСЂРѕРєР°, который будет ходить первым.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|Р’РѕРІР°<br>РђРЅСЏ<br>Боря|РђРЅСЏ<br> <br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|Толя<br>Коля<br>Вася|Вася<br> <br> <br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "arr = []\n", - "\n", - "for _ in range(3):\n", - " arr.append(input())\n", - "\n", - "arr.sort()\n", - "print(arr[0])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Лучшая защита — шифрование**\n", - "Коля испугался, что РђРЅСЏ подсмотрит РІСЃРµ его пароли РІ блокноте, Рё решил РёС… зашифровать. Для этого РѕРЅ берёт изначальный пароль — трёхзначное число — Рё РїРѕ нему строит РЅРѕРІРѕРµ число РїРѕ следующим правилам:<br>\n", - "* находится СЃСѓРјРјР° цифр, стоящих РІ РґРІСѓС… младших разрядах (десятки Рё единицы);\n", - "* находится СЃСѓРјРјР° цифр, стоящих РІ РґРІСѓС… старших разрядах (сотни Рё десятки)\n", - "* Рти РґРІРµ СЃСѓРјРјС‹, записанные РґСЂСѓРі Р·Р° РґСЂСѓРіРѕРј, РІ РїРѕСЂСЏРґРєРµ РЅРµ возрастания, формируют РЅРѕРІРѕРµ число.\n", - "\n", - "Помогите реализовать алгоритм шифрования.\n", - "### **Формат РІРІРѕРґР°**\n", - "РћРґРЅРѕ трёхзначное число\n", - "### **Формат вывода**\n", - "Результат шифрования\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|123|53|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|741|115|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "n = int(input())\n", - "\n", - "s1 = ((n % 100) // 10) + (n % 10)\n", - "s2 = (n // 100) + ((n % 100) // 10)\n", - "\n", - "print(max(s1, s2), min(s1, s2), sep=\"\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Красота спасёт РјРёСЂ**\n", - "РћРґРЅРѕ РёР· древних поверий гласит, что трёхзначное число красиво, если СЃСѓРјРјР° его минимальной Рё максимальной цифр равна оставшейся цифре умноженной РЅР° 2.<br><br>Напишите систему определяющую красоту числа.\n", - "### **Формат РІРІРѕРґР°**\n", - "РћРґРЅРѕ трёхзначное число\n", - "### **Формат вывода**\n", - "YES — если число красивое, иначе — NO\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|123|YES|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|748|NO|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "arr = [int(i) for i in input()]\n", - "arr.sort()\n", - "if arr[0] + arr[2] == arr[1] * 2:\n", - " print(\"YES\")\n", - "else:\n", - " print(\"NO\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Музыкальный инструмент**\n", - "Есть РјРЅРѕРіРѕ музыкальных инструментов, РЅРѕ Вася обожает треугольник.<br><br>РЈ него завалялось немного алюминиевых трубочек разной длины, Рё РѕРЅ задаётся РІРѕРїСЂРѕСЃРѕРј, Р° можно ли РёР· РЅРёС… сделать любимый музыкальный инструмент.\n", - "### **Формат РІРІРѕРґР°**\n", - "РўСЂРё числа — длины трубочек, каждое СЃ РЅРѕРІРѕР№ строки.\n", - "### **Формат вывода**\n", - "YES — если Васе удастся создать музыкальный треугольник, иначе — NO\n", - "### **Примечание**\n", - "Обратите внимание, что РІ треугольнике любая сторона меньше СЃСѓРјРјС‹ РґРІСѓС… РґСЂСѓРіРёС….\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|3<br>3<br>3|YES<br> <br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|1<br>2<br>3|NO<br> <br> <br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "arr = [int(input()) for _ in range(3)]\n", - "\n", - "summ = sum(arr)\n", - "\n", - "f = True\n", - "\n", - "for i in arr:\n", - " if i >= summ - i:\n", - " f = False\n", - "\n", - "if f:\n", - " print(\"YES\")\n", - "else:\n", - " print(\"NO\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Властелин Чисел: Братство общей цифры**\n", - "Р’Рѕ времена магии Рё драконов существовало мнение, что числа обладают великой силой, СЃРїРѕСЃРѕР±РЅРѕР№ изменить РјРёСЂ.<br><br>Р’СЃС‘ началось СЃ написания великих чисел. РўСЂРё числа были переданы эльфам. Семь — отданы повелителям РіРЅРѕРјРѕРІ. Рђ девять... были переданы человеческому СЂРѕРґСѓ.<br><br>РќРѕ РІСЃРµ РѕРЅРё оказались обмануты, потому что существовало ещё РѕРґРЅРѕ число. Р’ стране РќСѓРјРёСЏ РЅР° бумаге РёР· тёмного папируса властелин Зерон тайно написал Единую Цифру, подчиняющую себе РІСЃРµ великие числа.<br><br>Давайте выясним, что это Р·Р° цифра.\n", - "### **Формат РІРІРѕРґР°**\n", - "Р’ первой строке записано двузначное число РѕРґРЅРѕРіРѕ РёР· эльфов.<br>Р’Рѕ второй строке — Гномов.<br>Р’ третьей — Людей.\n", - "### **Формат вывода**\n", - "РћРґРЅР° цифра — общая Сѓ всех трёх чисел РІ одинаковой позиции\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|12<br>13<br>14|1<br> <br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|23<br>13<br>63|3<br> <br> <br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "arr = [input() for _ in range(3)]\n", - "\n", - "for i in arr[0]:\n", - " if i in arr[1] and i in arr[2]:\n", - " print(i)\n", - " break" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Властелин Чисел: Две Башни**\n", - "Р’Рѕ времена, РєРѕРіРґР° люди верили РІ великую силу чисел, оказалось, что волшебник Пифуман предал РІСЃРµ народы Рё стал помогать Зерону.<br><br>Чтобы посетить башни РѕР±РѕРёС… злодеев одновременно, нам следует разделить магию числа, которое защищало нас РІ РґРѕСЂРѕРіРµ.<br><br>Чтобы поделить трёхзначное число, нам нужно составить РёР· него минимально Рё максимально возможные двухзначные числа.\n", - "### **Формат РІРІРѕРґР°**\n", - "РћРґРЅРѕ трёхзначное число.\n", - "### **Формат вывода**\n", - "Два защитных числа для каждого отряда, записанные через пробел.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|103|10 31|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|787|77 87|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "num = input()\n", - "arr = []\n", - "arrtest = [num[0] + num[1], num[1] + num[0], num[1] + num[2], num[2] + num[1], num[0] + num[2], num[2] + num[0]]\n", - "for i in arrtest:\n", - " if int(i) >= 10:\n", - " arr.append(int(i))\n", - "print(min(arr), max(arr))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Властелин Чисел: Возвращение Цезаря**\n", - "До победы над злом остался РѕРґРёРЅ шаг — разрушить логово Зерона.<br><br>Для этого нужно создать трёхзначное магическое число, которое будет сильнее РґРІСѓС… двухзначных защитных чисел Зерона.<br><br>Самый простой СЃРїРѕСЃРѕР± создать сильное число:<br>\n", - "* первой взять максимальную цифру РёР· всех защитных чисел;\n", - "* последней — минимальную;\n", - "* РІ середину поставить СЃСѓРјРјСѓ оставшихся без учёта переноса разряда.\n", - "\n", - "Помогите одолеть зло.\n", - "### **Формат РІРІРѕРґР°**\n", - "Р’ РґРІСѓС… строках записаны защитные числа Зерона.\n", - "### **Формат вывода**\n", - "РћРґРЅРѕ трёхзначное число, которое приведёт Рє победе.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|31<br>11|321<br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|49<br>17|911<br> <br>|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "a, b = input(), input()\n", - "nums = [int(i) for i in sorted([a[0], a[1], b[0], b[1]])]\n", - "\n", - "print(f\"{nums[3]}{(nums[1] + nums[2]) % 10}{nums[0]}\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Легенды велогонок возвращаются: кто быстрее?**\n", - "Р’ РЅРѕРІРѕРј сезоне Р·Р° первенство РІ велогонках РІРЅРѕРІСЊ борются лучшие РёР· лучших. Протяжённость заключительной трассы — 43872Рј, Рё РІСЃРµ хотят знать, кто получит золотую медаль.<br><br>Нам известны средние скорости трёх претендентов РЅР° победу – Пети, Васи Рё Толи. Кто РёР· РЅРёС… победит?\n", - "### **Формат РІРІРѕРґР°**\n", - "Р’ первой строке записана средняя скорость Пети.<br>Р’Рѕ второй — Васи.<br>Р’ третьей — Толи.\n", - "### **Формат вывода**\n", - "Красивый пьедестал (ширина ступеней 8 символов).\n", - "### **Примечание**\n", - "Р’ данный момент визуализация тестов работает некорректно.<br>Ответ РЅР° первый тест:<br>\n", - " Петя <br> Толя <br> Вася <br> II I III \n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|10<br>5<br>7<br> <br>| Петя <br> Толя <br> Вася <br> II I III <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|5<br>7<br>10<br> <br>| Толя <br> Вася <br> Петя <br> II I III <br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "names = (\"Петя\", \"Вася\", \"Толя\")\n", - "speed = {int(input()): names[i] for i in range(3)}\n", - "text = []\n", - "speed_list = list(speed.keys())\n", - "speed_sorted = sorted(speed_list)\n", - "text = [\"\", \"\", \"\", \" II I III \"]\n", - "text[0] = (10 * \" \" + speed[speed_sorted[2]] + \" \" * 10)\n", - "text[1] = (2 * \" \" + speed[speed_sorted[1]] + \" \" * 18)\n", - "text[2] = (18 * \" \" + speed[speed_sorted[0]] + \" \" * 2)\n", - "\n", - "print(*text, sep=\"\\n\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Корень зла**\n", - "РќРµ РІСЃРµ любят математику, Р° кто-то даже считает её настоящим злом РІРѕ плоти, хотя РѕС‚ неё РЅРёРєСѓРґР° РЅРµ деться. Рљ примеру, Python изначально разрабатывался только для решения математических задач, поэтому давайте используем его, чтобы найти РєРѕСЂРЅРё квадратного уравнения.\n", - "### **Формат РІРІРѕРґР°**\n", - "Вводится 3 вещественных числа $a$, $b$, $c$ — коэффициенты уравнения РІРёРґР°: $ax^2+bx+c=0$.\n", - "### **Формат вывода**\n", - "Если Сѓ уравнения нет решений — следует вывести В«No solutionВ».<br>Если корней конечное число — РёС… нужно вывести через пробел РІ РїРѕСЂСЏРґРєРµ возрастания СЃ точностью РґРѕ сотых.<br>Если корней неограниченное число — следует вывести В«Infinite solutionsВ».\n", - "### **Примечание**\n", - "Обратите внимание, что ограничения РЅР° значения коэффициентов отсутствуют.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|1<br>-2<br>1|1.00<br> <br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|3.5<br>-2.4<br>-7.3|-1.14 1.83<br> <br> <br>|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "a, b, c = [float(input()) for _ in range(3)]\n", - "if a == b == c == 0:\n", - " print(\"Infinite solutions\")\n", - "elif a == b == 0:\n", - " print(\"No solution\")\n", - "elif a == 0:\n", - " x = (-1 * c) / b\n", - " \n", - " print(\"%.2f\" % x) \n", - "\n", - "else:\n", - " d = b ** 2 - 4 * a * c\n", - " if d > 0:\n", - " x1 = min((-1 * b + d ** 0.5) / (2 * a), (-1 * b - d ** 0.5) / (2 * a))\n", - " x2 = max((-1 * b + d ** 0.5) / (2 * a), (-1 * b - d ** 0.5) / (2 * a))\n", - "\n", - " print(\"%.2f\" % x1, \"%.2f\" % x2)\n", - "\n", - " elif d == 0:\n", - " x = (-1 * b) / (2 * a)\n", - "\n", - " print(\"%.2f\" % x) \n", - " \n", - " elif d < 0:\n", - " print(\"No solution\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Территория зла**\n", - "Р’ давние времена считалось, что если какая-то местность является треугольником, то РІ ней заключено страшное зло.<br><br>РџСЂРё этом люди оценивали СЂРёСЃРє встретить зло РїРѕ форме этого треугольника:<br>\n", - "* РІ остроугольном треугольнике вероятность встретить зло крайне мала;\n", - "* РІ тупоугольном — велика;\n", - "* РІ прямоугольном — 100%.\n", - "\n", - "Напишите программу, которая РїРѕ длине сторон треугольной местности, определяет вероятность встретить зло.\n", - "### **Формат РІРІРѕРґР°**\n", - "РўСЂРё числа — длины сторон треугольной местности.\n", - "### **Формат вывода**\n", - "Вероятность встретить зло согласно поверью:<br>\n", - "* крайне мала;\n", - "* велика;\n", - "* 100%.\n", - "\n", - "\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|3<br>5<br>4|100%<br> <br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|6<br>3<br>4|велика<br> <br> <br>|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "a, b, c = sorted([int(input()) for _ in range(3)])\n", - "\n", - "if (a ** 2 + b ** 2 == c ** 2):\n", - " print(\"100%\")\n", - "elif (a ** 2 + b ** 2 < c ** 2):\n", - " print(\"велика\")\n", - "else:\n", - " print(\"крайне мала\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Автоматизация безопасности**\n", - "Группа исследователей собирается высадиться РЅР° остров невероятно СЂРѕРІРЅРѕР№ формы, РЅРѕ разведка РїСЂРё помощи спутника выяснила, что РЅР° острове есть Р·РѕРЅР° зыбучих песков.<br><br>Для повышения безопасности экспедиции было решено разработать систему оповещения, которая предупредит исследователей РѕР± опасности. Рђ для снижения расходов РЅР° производство было решено заказать программное обеспечение.<br><br><br><br>Напишите программу, которая РїРѕ координатам исследователя, будет сообщать Рѕ безопасности РІ этой точке.\n", - "### **Формат РІРІРѕРґР°**\n", - "Два рациональных числа — координаты исследователя.\n", - "### **Формат вывода**\n", - "РћРґРЅРѕ РёР· сообщений:<br>\n", - "Опасность! Покиньте Р·РѕРЅСѓ как можно скорее!<br>Р—РѕРЅР° безопасна. Продолжайте работу.<br>Р’С‹ вышли РІ РјРѕСЂРµ Рё рискуете быть съеденным акулой!\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|3.5<br>-3.2|Опасность! Покиньте Р·РѕРЅСѓ как можно скорее!<br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|-5.2<br>3.4|Р—РѕРЅР° безопасна. Продолжайте работу.<br> <br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "x, y = float(input()), float(input())\n", - "\n", - "if x ** 2 + y ** 2 > 100:\n", - " print(\"Р’С‹ вышли РІ РјРѕСЂРµ Рё рискуете быть съеденным акулой!\")\n", - "else:\n", - " if x >= 0 and y >= 0:\n", - " if x ** 2 + y ** 2 <= 25:\n", - " print(\"Опасность! Покиньте Р·РѕРЅСѓ как можно скорее!\")\n", - " else:\n", - " print(\"Р—РѕРЅР° безопасна. Продолжайте работу.\")\n", - " elif x < 0 and y > 0:\n", - " if y > 5:\n", - " print(\"Р—РѕРЅР° безопасна. Продолжайте работу.\")\n", - " else:\n", - " if y > 5 / 3 * x + 35 / 3:\n", - " print(\"Р—РѕРЅР° безопасна. Продолжайте работу.\")\n", - " else:\n", - " print(\"Опасность! Покиньте Р·РѕРЅСѓ как можно скорее!\")\n", - " elif y < 0:\n", - " if y < 0.25 * x ** 2 + 0.5 * x - 8.75:\n", - " print(\"Р—РѕРЅР° безопасна. Продолжайте работу.\")\n", - " else:\n", - " print(\"Опасность! Покиньте Р·РѕРЅСѓ как можно скорее!\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Зайка — 2**\n", - "РџРѕ пути РґРѕРјРѕР№ родители РІРЅРѕРІСЊ решили сыграть СЃ детьми РІ РїРѕРёСЃРє зверушек.\n", - "### **Формат РІРІРѕРґР°**\n", - "РўСЂРё строки описывающих придорожную местность.\n", - "### **Формат вывода**\n", - "Строка РІ которой есть зайка, Р° затем её длина.<br>Если таких строк несколько, выбрать ту, что меньше всех лексикографически.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|березка елочка зайка волк березка<br>СЃРѕСЃРЅР° СЃРѕСЃРЅР° СЃРѕСЃРЅР° елочка грибочки медведь<br>СЃРѕСЃРЅР° СЃРѕСЃРЅР° СЃРѕСЃРЅР° белочка СЃРѕСЃРЅР° белочка|березка елочка зайка волк березка 33<br> <br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|зайка березка<br>березка зайка<br>березка елочка березка|березка зайка 13<br> <br> <br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "arr = sorted([input() for _ in range(3)])\n", - "\n", - "for s in arr:\n", - " if \"зайка\" in s:\n", - " print(s, len(s))\n", - " break" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "name": "python", - "version": "3.11.1" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/2.2/3.py b/2.2/3.py deleted file mode 100644 index d58ee40..0000000 --- a/2.2/3.py +++ /dev/null @@ -1,8 +0,0 @@ -a, b, c = int(input()), int(input()), int(input()) -m = max(a, b, c) -if a == m: - print("Петя") -elif b == m: - print("Вася") -elif c == m: - print("Толя") \ No newline at end of file diff --git a/2.2/4.py b/2.2/4.py deleted file mode 100644 index 895db49..0000000 --- a/2.2/4.py +++ /dev/null @@ -1,7 +0,0 @@ -a, b, c = int(input()), int(input()), int(input()) -names = ["Петя", "Вася", "Толя"] -s_d = [a, b, c] -cnt = 1 -for speed in sorted([a, b, c], reverse=True): - print(f"{cnt}. {names[s_d.index(speed)]}") - cnt += 1 \ No newline at end of file diff --git a/2.2/5.py b/2.2/5.py deleted file mode 100644 index c842cca..0000000 --- a/2.2/5.py +++ /dev/null @@ -1,13 +0,0 @@ -p, v = 7, 6 -p -= 1 -v += 3 -v += 3 - -n, m = int(input()), int(input()) - -p += n -v += m -if p > v: - print("Петя") -else: - print("Вася") \ No newline at end of file diff --git a/2.2/6.py b/2.2/6.py deleted file mode 100644 index 5db988c..0000000 --- a/2.2/6.py +++ /dev/null @@ -1,11 +0,0 @@ -year = int(input()) -if year % 400 == 0: - print("YES") -else: - if year % 100 == 0: - print("NO") - else: - if year % 4 == 0: - print("YES") - else: - print("NO") \ No newline at end of file diff --git a/2.2/7.py b/2.2/7.py deleted file mode 100644 index b26d5fb..0000000 --- a/2.2/7.py +++ /dev/null @@ -1,5 +0,0 @@ -s = input() -if s == s[::-1]: - print("YES") -else: - print("NO") \ No newline at end of file diff --git a/2.2/8.py b/2.2/8.py deleted file mode 100644 index f397b24..0000000 --- a/2.2/8.py +++ /dev/null @@ -1,5 +0,0 @@ -s = input() -if "зайка" in s: - print("YES") -else: - print("NO") \ No newline at end of file diff --git a/2.2/9.py b/2.2/9.py deleted file mode 100644 index e3f01f1..0000000 --- a/2.2/9.py +++ /dev/null @@ -1,7 +0,0 @@ -arr = [] - -for _ in range(3): - arr.append(input()) - -arr.sort() -print(arr[0]) \ No newline at end of file diff --git a/2.2/markdown-image.png b/2.2/markdown-image.png deleted file mode 100644 index 248d7f7e855aeebcd067909b6b3feef35cfda651..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 209014 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	^PY1X@6mimCDXG4q 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 YAj5#ZqBb)zE^G*p%QlxV7k<9?ce)sOH~;_u diff --git a/2.3/1.py b/2.3/1.py deleted file mode 100644 index 552eeb4..0000000 --- a/2.3/1.py +++ /dev/null @@ -1,7 +0,0 @@ -s = input() - -while s != "РўСЂРё!": - print("Режим ожидания...") - s = input() - -print("Ёлочка, РіРѕСЂРё!") \ No newline at end of file diff --git a/2.3/10.py b/2.3/10.py deleted file mode 100644 index ce144f1..0000000 --- a/2.3/10.py +++ /dev/null @@ -1,16 +0,0 @@ -x, y = 0, 0 -while True: - s = input() - if s == "РЎРўРћРџ": - break - elif s == "СЕВЕР": - y += int(input()) - elif s == "ЮГ": - y -= int(input()) - elif s == "Р—РђРџРђР”": - x -= int(input()) - elif s == "Р’РћРЎРўРћРљ": - x += int(input()) - -print(y) -print(x) \ No newline at end of file diff --git a/2.3/11.py b/2.3/11.py deleted file mode 100644 index 6037db6..0000000 --- a/2.3/11.py +++ /dev/null @@ -1 +0,0 @@ -print(sum([int(i) for i in input()])) \ No newline at end of file diff --git a/2.3/12.py b/2.3/12.py deleted file mode 100644 index fe5db91..0000000 --- a/2.3/12.py +++ /dev/null @@ -1 +0,0 @@ -print(max([int(i) for i in input()])) \ No newline at end of file diff --git a/2.3/13.py b/2.3/13.py deleted file mode 100644 index 66dea0c..0000000 --- a/2.3/13.py +++ /dev/null @@ -1 +0,0 @@ -print(sorted([input() for i in range(int(input()))])[0]) \ No newline at end of file diff --git a/2.3/14.py b/2.3/14.py deleted file mode 100644 index c3a0ba8..0000000 --- a/2.3/14.py +++ /dev/null @@ -1,11 +0,0 @@ -n = int(input()) - -if n == 1 or n == 0 or n == -1: - print("NO") -else: - for i in range(2, n // 2 + 1): - if n % i == 0: - print("NO") - break - else: - print("YES") \ No newline at end of file diff --git a/2.3/15.py b/2.3/15.py deleted file mode 100644 index 5da051d..0000000 --- a/2.3/15.py +++ /dev/null @@ -1,8 +0,0 @@ -n = int(input()) -c = 0 - -for _ in range(n): - if "зайка" in input(): - c += 1 - -print(c) \ No newline at end of file diff --git a/2.3/16.py b/2.3/16.py deleted file mode 100644 index 9691da7..0000000 --- a/2.3/16.py +++ /dev/null @@ -1,6 +0,0 @@ -s = input() - -if s == s[::-1]: - print("YES") -else: - print("NO") \ No newline at end of file diff --git a/2.3/17.py b/2.3/17.py deleted file mode 100644 index 0a3056f..0000000 --- a/2.3/17.py +++ /dev/null @@ -1,9 +0,0 @@ -s = input() - -s1 = "" - -for i in s: - if int(i) % 2 == 1: - s1 += i - -print(s1) \ No newline at end of file diff --git a/2.3/18.py b/2.3/18.py deleted file mode 100644 index 2c68dfd..0000000 --- a/2.3/18.py +++ /dev/null @@ -1,17 +0,0 @@ -n = int(input()) -arr = [] - -if n == 1: - print(1) -else: - while True: - for i in range(2, n // 2): - if n % i == 0: - arr.append(i) - n //= i - break - else: - arr.append(n) - break - -print(*arr, sep=" * ") \ No newline at end of file diff --git a/2.3/19.py b/2.3/19.py deleted file mode 100644 index 79a62aa..0000000 --- a/2.3/19.py +++ /dev/null @@ -1,17 +0,0 @@ -n = 500 -print(n) -s = input() -maxnum, minnum = 1001, 0 - -while s != "Угадал!": - - if s == "Больше": - minnum = n - n += (maxnum - n) // 2 - - elif s == "Меньше": - maxnum = n - n -= (n - minnum) // 2 - - print(n) - s = input() \ No newline at end of file diff --git a/2.3/2.py b/2.3/2.py deleted file mode 100644 index cbaf534..0000000 --- a/2.3/2.py +++ /dev/null @@ -1,9 +0,0 @@ -s = input() -c = 0 - -while s != "Приехали!": - if "зайка" in s: - c += 1 - s = input() - -print(c) \ No newline at end of file diff --git a/2.3/20.py b/2.3/20.py deleted file mode 100644 index 3945375..0000000 --- a/2.3/20.py +++ /dev/null @@ -1,16 +0,0 @@ -c = -1 -prev_h = 0 - -for i in range(int(input())): - b = int(input()) - - h = b % 256 - r = (b // 256) % 256 - m = b // (256 ** 2) - - hs = (37 * (m + r + prev_h)) % 256 - prev_h = h - if h > 99 or h != hs: - c = i - break -print(c) \ No newline at end of file diff --git a/2.3/23.ipynb b/2.3/23.ipynb deleted file mode 100644 index 2c3be9b..0000000 --- a/2.3/23.ipynb +++ /dev/null @@ -1,762 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Раз, РґРІР°, три! Ёлочка, РіРѕСЂРё!**\n", - "Р’ детском саду РїСЂРѕРІРѕРґСЏС‚ РЅРѕРІРѕРіРѕРґРЅРёР№ утренник. РЎРѕ знанием чисел Рё РёС… РїРѕСЂСЏРґРєРѕРј Сѓ детей РїРѕРєР° есть небольшие проблемы, РЅРѕ цифру три знают РІСЃРµ без исключения.<br><br>Напишите программу, которая зажигает Ёлочку, РєРѕРіРґР° РІСЃРµ дети прокричат «Три!В»\n", - "### **Формат РІРІРѕРґР°**\n", - "Вводятся РєСЂРёРєРё детей.\n", - "### **Формат вывода**\n", - "Выводить «Режим ожидания...В», РїРѕРєР° дети РЅРµ прокричат «Три!В».<br>Р’ конце вывести «Ёлочка, РіРѕСЂРё!В»\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|Раз!<br>Два!<br>РўСЂРё!<br>|Режим ожидания...<br>Режим ожидания...<br>Ёлочка, РіРѕСЂРё!|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|Десять!<br>Девять!<br>Раз!<br>РўСЂРё!<br>|Режим ожидания...<br>Режим ожидания...<br>Режим ожидания...<br>Ёлочка, РіРѕСЂРё!|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "s = input()\n", - "\n", - "while s != \"РўСЂРё!\":\n", - " print(\"Режим ожидания...\")\n", - " s = input()\n", - "\n", - "print(\"Ёлочка, РіРѕСЂРё!\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Зайка — 3**\n", - "Р’ задачнике РєРѕ второй лекции РјС‹ помогали детям искать зайца.<br>РќР° этот раз РјС‹ будем искать Рё считать сразу нескольких зайчат.\n", - "### **Формат РІРІРѕРґР°**\n", - "Вводятся строки, описывающие придорожную местность.<br>Р’ конце поездки вводится «Приехали!В»\n", - "### **Формат вывода**\n", - "Количество строк, РІ которых есть зайка.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|березка елочка зайка волк березка<br>СЃРѕСЃРЅР° СЃРѕСЃРЅР° СЃРѕСЃРЅР° елочка грибочки медведь<br>СЃРѕСЃРЅР° СЃРѕСЃРЅР° СЃРѕСЃРЅР° белочка СЃРѕСЃРЅР° белочка<br>Приехали!|1<br> <br> <br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|зайка березка<br>березка зайка<br>березка елочка березка<br>Приехали!|2<br> <br> <br> <br>|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "s = input()\n", - "c = 0\n", - "\n", - "while s != \"Приехали!\":\n", - " if \"зайка\" in s:\n", - " c += 1\n", - " s = input()\n", - "\n", - "print(c)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Считалочка**\n", - "Ребята РІ детском саду учат числа, Рё РјС‹ можем РёРј РІ этом помочь.<br>Ребята дают нам РґРІР° числа — начало Рё конец последовательности чисел.<br>Наша задача вывести РІСЃРµ числа РѕС‚ начала РґРѕ конца, заполнив промежуток между РЅРёРјРё.\n", - "### **Формат РІРІРѕРґР°**\n", - "Два числа РІ РїРѕСЂСЏРґРєРµ возрастания, каждое СЃ РЅРѕРІРѕР№ строки.\n", - "### **Формат вывода**\n", - "Р’СЃРµ числа РѕС‚ начала РґРѕ конца (включительно), записанные через пробел.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|1<br>10|1 2 3 4 5 6 7 8 9 10<br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|-3<br>3|-3 -2 -1 0 1 2 3<br> <br>|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "x1, x2 = int(input()), int(input())\n", - "\n", - "arr = []\n", - "\n", - "for i in range(x1, x2 + 1):\n", - " arr.append(i)\n", - "\n", - "print(*arr)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Считалочка 2.0**\n", - "Дети продолжают запоминать цифры, Р° РјС‹ РёРј помогать.<br>Нам РІРЅРѕРІСЊ называют начало Рё конец последовательности чисел, Р° РјС‹ выводим РёС… Рё числа между.\n", - "### **Формат РІРІРѕРґР°**\n", - "Два числа, каждое СЃ РЅРѕРІРѕР№ строки.\n", - "### **Формат вывода**\n", - "Р’СЃРµ числа РѕС‚ начала РґРѕ конца (включительно), записанные через пробел.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|1<br>10|1 2 3 4 5 6 7 8 9 10<br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|3<br>-3|3 2 1 0 -1 -2 -3<br> <br>|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "x1, x2 = int(input()), int(input())\n", - "\n", - "arr = []\n", - "\n", - "if x1 < x2:\n", - " for i in range(x1, x2 + 1):\n", - " arr.append(i)\n", - "else:\n", - " for i in range(x1, x2 - 1, -1):\n", - " arr.append(i)\n", - "\n", - "print(*arr)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Внимание! Акция!**\n", - "Р’ продуктовом магазине объявили акцию: «На РІСЃРµ товары СЃ ценой РЅРµ менее 500 тугриков предоставляется СЃРєРёРґРєР° 10%В».<br>Нас попросили разработать программное обеспечение кассового автомата, которое будет считать итоговую СЃСѓРјРјСѓ РїРѕРєСѓРїРєРё СЃ учётом СЃРєРёРґРєРё.\n", - "### **Формат РІРІРѕРґР°**\n", - "Вводится некоторое количество рациональных чисел — стоимость товаров.<br>РЎРїРёСЃРѕРє завершается значением 0.\n", - "### **Формат вывода**\n", - "Требуется вывести СЃСѓРјРјСѓ всех товаров СЃ учётом объявленной акции.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|100<br>500<br>333<br>0|883.0<br> <br> <br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|512<br>499<br>342.50<br>0|1302.3<br> <br> <br> <br>|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "n = float(input())\n", - "\n", - "c = 0\n", - "while n != 0:\n", - " if n >= 500:\n", - " c += 0.9 * n\n", - " else:\n", - " c += n\n", - "\n", - " n = float(input())\n", - "\n", - "print(c)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **РќРћР”**\n", - "Р’ РѕРґРЅРѕРј РёР· местных РќРРчасто требуется находить наибольший общий делитель (РќРћР”) РґРІСѓС… чисел.<br>Вам уже доверяют, как РѕРґРЅРѕРјСѓ РёР· лучших «автоматизаторов» РІ РѕРєСЂСѓРіРµ, так что руководство РќРРрешило заказать РџРћ Сѓ вас.\n", - "### **Формат РІРІРѕРґР°**\n", - "Вводится РґРІР° натуральных числа, каждое РЅР° своей строке.\n", - "### **Формат вывода**\n", - "Требуется вывести РѕРґРЅРѕ натуральное число — РќРћР” РґРІСѓС… данных чисел.\n", - "### **Примечание**\n", - "Самый распространенный СЃРїРѕСЃРѕР± РїРѕРёСЃРєР° РќРћР” — алгоритм Евклида.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|12<br>42|6<br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|512<br>625|1<br> <br>|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "n1, n2 = int(input()), int(input())\n", - "\n", - "for i in range(min(n1, n2), 0, -1):\n", - " if n2 % i == 0 and n1 % i == 0:\n", - " print(i)\n", - " break" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **РќРћРљ**\n", - "Спустя время РќРРпотребовалось находить наименьшее общее кратное (РќРћРљ) РґРІСѓС… чисел. Рљ нам РІРЅРѕРІСЊ обратились Р·Р° помощью.\n", - "### **Формат РІРІРѕРґР°**\n", - "Вводится РґРІР° натуральных числа, каждое РЅР° своей строке.\n", - "### **Формат вывода**\n", - "Требуется вывести РѕРґРЅРѕ натуральное число — РќРћРљ РґРІСѓС… данных чисел.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|12<br>42|84<br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|512<br>625|320000<br> <br>|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "n1, n2 = int(input()), int(input())\n", - "\n", - "com = 0\n", - "\n", - "for i in range(min(n1, n2), 0, -1):\n", - " if n2 % i == 0 and n1 % i == 0:\n", - " com = i\n", - " break\n", - "\n", - "print((n1 // com) * (n2 // com) * com)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Рзлишняя автоматизация 2.0**\n", - "Рђ что будет, если РІРЅРѕРІСЊ, как РІ первой главе, объединить РґРІР° принципа — повторение Рё автоматизацию?\n", - "### **Формат РІРІРѕРґР°**\n", - "Р’ первой строке записана весьма полезная информация. Р’Рѕ второй натуральное число $N$ — количество раз, которое её нужно повторить, чтобы РѕРЅР° закрепилась.\n", - "### **Формат вывода**\n", - "N раз повторенная весьма полезная информация.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|2 + 2 = 4<br>3<br> <br>|2 + 2 = 4<br>2 + 2 = 4<br>2 + 2 = 4<br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|Нельзя нажимать неизвестные РєРЅРѕРїРєРё!<br>4<br> <br> <br>|Нельзя нажимать неизвестные РєРЅРѕРїРєРё!<br>Нельзя нажимать неизвестные РєРЅРѕРїРєРё!<br>Нельзя нажимать неизвестные РєРЅРѕРїРєРё!<br>Нельзя нажимать неизвестные РєРЅРѕРїРєРё!<br>|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "s, n = input(), int(input())\n", - "\n", - "for _ in range(n):\n", - " print(s)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Факториал**\n", - "Учёным срочно нужно РџРћ, которое находит факториал числа.\n", - "### **Формат РІРІРѕРґР°**\n", - "Вводится РѕРґРЅРѕ неотрицательное число.\n", - "### **Формат вывода**\n", - "Требуется вывести РѕРґРЅРѕ натуральное число — факториал заданного числа.<br><br>Примечания<br>Факториал нуля РїСЂРёРЅСЏС‚ равным 1.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|3|6|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|5|120|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "n = int(input())\n", - "\n", - "o = 1\n", - "\n", - "for i in range(2, n + 1):\n", - " o *= i\n", - "\n", - "print(o)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Маршрут построен**\n", - "Навигация была важна РІРѕ РІСЃРµ времена.<br>Нам достался архив маршрутов движения, РЅРѕ РёС… оказалось так РјРЅРѕРіРѕ, что без автоматизации РјС‹ СЃ РЅРёРјРё РЅРµ справимся РІРѕ век. Каждый маршрут представляет СЃРѕР±РѕР№ последовательность шагов РІ РѕРґРЅРѕРј РёР· четырех направлений:<br>\n", - "* СЕВЕР;\n", - "* Р’РћРЎРўРћРљ;\n", - "* ЮГ;\n", - "* Р—РђРџРђР”.\n", - "\n", - "Напишите программу, чтобы РїРѕ заданному маршруту РѕРЅР° определяла, РІ какой именно точке РјС‹ окажемся.<br>Для простоты будем считать, что РІ начале маршрута РјС‹ находимся РІ точке (0; 0).\n", - "### **Формат РІРІРѕРґР°**\n", - "Вводятся инструкции маршрута РІ РІРёРґРµ:<br><количество шагов><br>Р’РІРѕРґ завершается строкой РЎРўРћРџ.\n", - "### **Формат вывода**\n", - "Два целых числа — координаты конечной точки маршрута.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|СЕВЕР<br>2<br>Р’РћРЎРўРћРљ<br>2<br>РЎРўРћРџ|2<br>2<br> <br> <br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|СЕВЕР<br>2<br>ЮГ<br>3<br>Р—РђРџРђР”<br>4<br>РЎРўРћРџ|-1<br>-4<br> <br> <br> <br> <br> <br>|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "x, y = 0, 0\n", - "while True:\n", - " s = input()\n", - " if s == \"РЎРўРћРџ\":\n", - " break\n", - " elif s == \"СЕВЕР\":\n", - " y += int(input())\n", - " elif s == \"ЮГ\":\n", - " y -= int(input())\n", - " elif s == \"Р—РђРџРђР”\":\n", - " x -= int(input())\n", - " elif s == \"Р’РћРЎРўРћРљ\":\n", - " x += int(input())\n", - "\n", - "print(y)\n", - "print(x)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Цифровая СЃСѓРјРјР°**\n", - "РРЅРѕРіРґР° требуется манипулировать СЃ цифрами чисел.<br>РћРґРЅРѕ РёР· самых простых действий, которое можно совершить — найти СЃСѓРјРјСѓ цифр числа. Напишите программу, чтобы выполнить это действие.\n", - "### **Формат РІРІРѕРґР°**\n", - "Вводится РѕРґРЅРѕ натуральное число.\n", - "### **Формат вывода**\n", - "Требуется вывести РѕРґРЅРѕ натуральное число — СЃСѓРјРјСѓ цифр РёСЃС…РѕРґРЅРѕРіРѕ.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|12345|15|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|100500|6|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(sum([int(i) for i in input()]))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Сильная цифра**\n", - "Давайте попробуем выполнить ещё РѕРґРЅРѕ простое действие — найдём максимальную цифру числа.\n", - "### **Формат РІРІРѕРґР°**\n", - "Вводится РѕРґРЅРѕ натуральное число.\n", - "### **Формат вывода**\n", - "Требуется вывести РѕРґРЅРѕ натуральное число — максимальную цифру РёСЃС…РѕРґРЅРѕРіРѕ.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|12345|5|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|100500|5|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(max([int(i) for i in input()]))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Первому РёРіСЂРѕРєСѓ приготовиться 2.0**\n", - "Р’Рѕ РјРЅРѕРіРёС… играх РїРѕСЂСЏРґРѕРє С…РѕРґРѕРІ определяется Р±СЂРѕСЃРєРѕРј РєСѓР±РёРєР° или монетки, Р° РІ нашей первым С…РѕРґРёС‚ тот, чье РёРјСЏ лексикографически меньше. Определите, кто РёР· РёРіСЂРѕРєРѕРІ будет ходить первым.\n", - "### **Формат РІРІРѕРґР°**\n", - "Р’ первой строке записано РѕРґРЅРѕ натуральное число $N$ — количество РёРіСЂРѕРєРѕРІ.<br>Р’ каждой РёР· последующих $N$ строк указано РѕРґРЅРѕ РёРјСЏ РёРіСЂРѕРєР°.\n", - "### **Формат вывода**\n", - "РРјСЏ РёРіСЂРѕРєР°, который будет ходить первым.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|3<br>Р’РѕРІР°<br>РђРЅСЏ<br>Боря|РђРЅСЏ<br> <br> <br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|4<br>Толя<br>Коля<br>Вася<br>Юля|Вася<br> <br> <br> <br> <br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(sorted([input() for i in range(int(input()))])[0])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Простая задача**\n", - "РћРґРёРЅ РёР· самых интересных РІРёРґРѕРІ чисел РІ математике — простые числа. РС… объединяет то, что делятся РѕРЅРё лишь РЅР° 1 Рё само себя. До СЃРёС… РїРѕСЂ РёС… изучают учёные РїРѕ всему РјРёСЂСѓ. Также РѕРЅРё применяются РІ вычислительной технике: СЃ РёС… помощью можно писать алгоритмы, чтобы шифровать данные. Давайте напишем программу, чтобы определять — простое перед нами число или нет.\n", - "### **Формат РІРІРѕРґР°**\n", - "Вводится РѕРґРЅРѕ натуральное число.\n", - "### **Формат вывода**\n", - "Требуется вывести сообщение YES если число простое, иначе — NO.\n", - "### **Примечание**\n", - "Простым называется число, которое имеет СЂРѕРІРЅРѕ РґРІР° делителя.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|1|NO|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|67|YES|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "n = int(input())\n", - "\n", - "if n == 1 or n == 0 or n == -1:\n", - " print(\"NO\")\n", - "else:\n", - " for i in range(2, n // 2 + 1):\n", - " if n % i == 0:\n", - " print(\"NO\")\n", - " break\n", - " else:\n", - " print(\"YES\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Зайка - 4**\n", - "Давайте РІРЅРѕРІСЊ поиграем СЃ детьми Рё поможем РёРј найти заек.\n", - "### **Формат РІРІРѕРґР°**\n", - "Р’ первой строке записано натуральное число $N$ — количество выделенных придорожных местностей. Р’ каждой РёР· $N$ последующих строках — описание придорожной местности.\n", - "### **Формат вывода**\n", - "Количество строк, РІ которых есть зайка.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|3<br>березка елочка зайка волк березка<br>СЃРѕСЃРЅР° СЃРѕСЃРЅР° СЃРѕСЃРЅР° елочка грибочки медведь<br>СЃРѕСЃРЅР° СЃРѕСЃРЅР° СЃРѕСЃРЅР° белочка СЃРѕСЃРЅР° белочка|1<br> <br> <br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|4<br>зайка березка<br>березка зайка<br>березка елочка березка<br>елочка елочка елочка|2<br> <br> <br> <br> <br>|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "n = int(input())\n", - "c = 0\n", - "\n", - "for _ in range(n):\n", - " if \"зайка\" in input():\n", - " c += 1\n", - "\n", - "print(c)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Рђ СЂРѕР·Р° упала РЅР° лапу РђР·РѕСЂР° 2.0**\n", - "Р’СЃРїРѕРјРЅРёРј Рѕ палиндромах, которые РІ РѕР±РѕРёС… направлениях читаются одинаково. Напишите программу, которая проверяет, является ли число палиндромом.\n", - "### **Формат РІРІРѕРґР°**\n", - "РћРґРЅРѕ натуральное число.\n", - "### **Формат вывода**\n", - "YES — если число является палиндромом, иначе — NO.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|1234|NO|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|123454321|YES|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "s = input()\n", - "\n", - "if s == s[::-1]:\n", - " print(\"YES\")\n", - "else:\n", - " print(\"NO\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Чётная чистота**\n", - "РњС‹ уже достаточно знатоки, чтобы очистить число РѕС‚ определённых цифр, поэтому давайте напишем программу, которая уберёт РІСЃРµ чётные цифры РёР· числа.\n", - "### **Формат РІРІРѕРґР°**\n", - "РћРґРЅРѕ натуральное число.\n", - "### **Формат вывода**\n", - "РћРґРЅРѕ натуральное число — результат очистки.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|1234|13|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|123454321|13531|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "s = input()\n", - "\n", - "s1 = \"\"\n", - "\n", - "for i in s:\n", - " if int(i) % 2 == 1:\n", - " s1 += i\n", - "\n", - "print(s1)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Простая задача 2.0**\n", - "Р’ банке решили переписать программу для шифрования данных Рё попросили, чтобы РІС‹ взяли РЅР° себя часть данной задачи. Напишите программу для разложения числа РЅР° простые множители. Только внимательно, ведь работать придётся РІРЅРѕРІСЊ СЃ простыми числами.\n", - "### **Формат РІРІРѕРґР°**\n", - "Вводится РѕРґРЅРѕ натуральное число.\n", - "### **Формат вывода**\n", - "Требуется составить математическое выражение — произведение простых неубывающих чисел, которое РІ результате даёт РёСЃС…РѕРґРЅРѕРµ.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|120|2 * 2 * 2 * 3 * 5|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|98|2 * 7 * 7|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "n = int(input())\n", - "arr = []\n", - "\n", - "if n == 1:\n", - " print(1)\n", - "else:\n", - " while True:\n", - " for i in range(2, n // 2):\n", - " if n % i == 0:\n", - " arr.append(i)\n", - " n //= i\n", - " break\n", - " else:\n", - " arr.append(n)\n", - " break\n", - " \n", - "print(*arr, sep=\" * \")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **РРіСЂР° РІ «Угадайку»**\n", - "РќР° каждую попытку пользователь отвечает РѕРґРЅРѕР№ РёР· фраз:<br>\n", - "* Больше;\n", - "* Меньше;\n", - "* Угадал!\n", - "* Данная задача проверяется интерактивно. Другими словами, РїРѕРєР° РІС‹ РЅРµ выведите СЃРІРѕС‘ число, система РЅРµ предоставит вам данных.\n", - "\n", - "\n", - "### **Пример**\n", - "Предположим, что было загадано число 123<br><br>Диалог вашей программы СЃ пользователем/системой должен выглядеть так:<br><br>500<br>Меньше<br>250<br>Меньше<br>125<br>Меньше<br>63<br>Больше<br>94<br>Больше<br>109<br>Больше<br>117<br>Больше<br>121\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "n = 500\n", - "print(n)\n", - "s = input()\n", - "maxnum, minnum = 1001, 0\n", - "\n", - "while s != \"Угадал!\":\n", - "\n", - " if s == \"Больше\":\n", - " minnum = n\n", - " n += (maxnum - n) // 2\n", - "\n", - " elif s == \"Меньше\":\n", - " maxnum = n\n", - " n -= (n - minnum) // 2\n", - "\n", - " print(n)\n", - " s = input()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Хайпанём немножечко!**\n", - "Блокчейн (blockchain) переводится как «цепочка блоков». Рто СЃРїРѕСЃРѕР± хранения данных, защищённый РѕС‚ подделки. РћРЅ лежит, например, РІ РѕСЃРЅРѕРІРµ криптовалюты биткоин.<br><br>Блокчейн — это действительно последовательность блоков, Р° РІ каждом блоке находится некоторая полезная информация. Так последовательность биткоина — СЃРїРёСЃРѕРє транзакций Р·Р° определённый период времени: кто, РєРѕРјСѓ, РєРѕРіРґР° Рё сколько денег передал. Ртот СЃРїРёСЃРѕРє снабжён случайным числом Рё некоторыми служебными данными, РІ том числе хэшем — числом, которое РїРѕ определённой формуле зависит РѕС‚ остальной части блока Рё хэша предыдущего блока.<br><br>РҐСЌС€ должен быть меньше определённого числа. РџСЂРё этом формула, РїРѕ которой вычисляется С…СЌС€, устроена так, что невозможно получить достаточно маленький С…СЌС€ иначе, чем перебирая различные значения случайного числа. Поэтому если злоумышленник решит подделать блокчейн — например, вставить РІ его середину блок СЃ записью Рѕ том, что РІСЃРµ люди передали ему РІСЃРµ СЃРІРѕРё деньги, — то столкнётся СЃ проблемой. Ему придётся подобрать РЅРѕРІРѕРµ случайное число РЅРµ только РІ поддельном блоке, РЅРѕ Рё РІРѕ всех последующих, ведь С…СЌС€ каждого следующего блока зависит РѕС‚ хэша предыдущего.<br><br>Рто требует невероятно больших вычислительных мощностей, поэтому блокчейн РІ целом защищён РѕС‚ подобных атак.<br><br>Напишите программу, которая РїСЂРѕРІРѕРґРёС‚ проверку правильности хэшей РІ модельном блокчейне СЃ простой С…СЌС€-функцией. Блок $b_n$ СЃ номером n включает полезную информацию $m_n$ , представленную натуральным числом, $r_n$ — случайное число РѕС‚ 0 РґРѕ 255 Рё $h_n$ — С…СЌС€ (целое число РѕС‚ 0 РґРѕ 255). РЈ каждого блока С…СЌС€ вычисляется РїРѕ формуле $h_n=<37*(m_n+r_n+h_{nв€’1} )$ (РїРѕ модулю 256), РїСЂРё вычислении хэша начального блока $h_0$ вместо хэша предыдущего блока берётся ноль. РџСЂРё этом каждый блок представлен РѕРґРЅРёРј числом $b_n=h_n+r_n*256+m_n*256^2$ . Также требуется, чтобы С…СЌС€ $h_n$ был меньше 100.\n", - "### **Формат РІРІРѕРґР°**\n", - "РќР° первой строке вводится натуральное число $N$ — количество блоков. Далее следуют $N$ чисел $b_n$ , каждое РЅР° отдельной строке.\n", - "### **Формат вывода**\n", - "Следует вывести номер первого блока, Сѓ которого неправильный С…СЌС€ (РЅРµ меньше 100 или РЅРµ совпадает СЃ вычисленным РїРѕ указанной РІ условии формуле), или -1, если РІСЃРµ хэши РІ блокчейне правильные. Нумерация блоков идёт СЃ нуля, так что РѕРЅРё имеют номера РѕС‚ 0 РґРѕ N-1.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|5<br>6122802<br>14406496<br>15230209<br>2541121<br>1758741|-1<br> <br> <br> <br> <br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|5<br>1865535<br>13479687<br>16689153<br>1839958<br>5214020|3<br> <br> <br> <br> <br> <br>|\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "c = -1\n", - "prev_h = 0\n", - "\n", - "for i in range(int(input())):\n", - " b = int(input())\n", - "\n", - " h = b % 256\n", - " r = (b // 256) % 256\n", - " m = b // (256 ** 2)\n", - "\n", - " hs = (37 * (m + r + prev_h)) % 256\n", - " prev_h = h\n", - " if h > 99 or h != hs:\n", - " c = i\n", - " break\n", - "print(c)" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "name": "python", - "version": "3.11.1" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/2.3/3.py b/2.3/3.py deleted file mode 100644 index 2820b28..0000000 --- a/2.3/3.py +++ /dev/null @@ -1,8 +0,0 @@ -x1, x2 = int(input()), int(input()) - -arr = [] - -for i in range(x1, x2 + 1): - arr.append(i) - -print(*arr) \ No newline at end of file diff --git a/2.3/4.py b/2.3/4.py deleted file mode 100644 index 8827b5d..0000000 --- a/2.3/4.py +++ /dev/null @@ -1,12 +0,0 @@ -x1, x2 = int(input()), int(input()) - -arr = [] - -if x1 < x2: - for i in range(x1, x2 + 1): - arr.append(i) -else: - for i in range(x1, x2 - 1, -1): - arr.append(i) - -print(*arr) \ No newline at end of file diff --git a/2.3/5.py b/2.3/5.py deleted file mode 100644 index aa8f8e6..0000000 --- a/2.3/5.py +++ /dev/null @@ -1,12 +0,0 @@ -n = float(input()) - -c = 0 -while n != 0: - if n >= 500: - c += 0.9 * n - else: - c += n - - n = float(input()) - -print(c) \ No newline at end of file diff --git a/2.3/6.py b/2.3/6.py deleted file mode 100644 index d06e719..0000000 --- a/2.3/6.py +++ /dev/null @@ -1,6 +0,0 @@ -n1, n2 = int(input()), int(input()) - -for i in range(min(n1, n2), 0, -1): - if n2 % i == 0 and n1 % i == 0: - print(i) - break \ No newline at end of file diff --git a/2.3/7.py b/2.3/7.py deleted file mode 100644 index 33dc0e1..0000000 --- a/2.3/7.py +++ /dev/null @@ -1,10 +0,0 @@ -n1, n2 = int(input()), int(input()) - -com = 0 - -for i in range(min(n1, n2), 0, -1): - if n2 % i == 0 and n1 % i == 0: - com = i - break - -print((n1 // com) * (n2 // com) * com) \ No newline at end of file diff --git a/2.3/8.py b/2.3/8.py deleted file mode 100644 index 2fa9570..0000000 --- a/2.3/8.py +++ /dev/null @@ -1,4 +0,0 @@ -s, n = input(), int(input()) - -for _ in range(n): - print(s) \ No newline at end of file diff --git a/2.3/9.py b/2.3/9.py deleted file mode 100644 index 5e00683..0000000 --- a/2.3/9.py +++ /dev/null @@ -1,8 +0,0 @@ -n = int(input()) - -o = 1 - -for i in range(2, n + 1): - o *= i - -print(o) \ No newline at end of file diff --git a/2.4/1.py b/2.4/1.py deleted file mode 100644 index b0089c9..0000000 --- a/2.4/1.py +++ /dev/null @@ -1,13 +0,0 @@ -n = int(input()) - -m = [[0] * n for i in range(n)] - -for i in range(n): - m[0][i] = i + 1 - -for i in range(1, n): - for j in range(n): - m[i][j] = (i + 1) * (j + 1) - -for arr in m: - print(*arr) \ No newline at end of file diff --git a/2.4/10.py b/2.4/10.py deleted file mode 100644 index d6c3593..0000000 --- a/2.4/10.py +++ /dev/null @@ -1,14 +0,0 @@ -n = int(input()) -print("Рђ Р‘ Р’") - -arr = [1, 1, n - 2] -print(*arr) - -for i in range(2, n - 1): - arr = [1, i, n - 1 - i] - print(*arr) - -for i in range(2, n - 1): - for j in range(1, n - i): - arr = [i, j, n - j - i] - print(*arr) \ No newline at end of file diff --git a/2.4/11.py b/2.4/11.py deleted file mode 100644 index eaece61..0000000 --- a/2.4/11.py +++ /dev/null @@ -1,16 +0,0 @@ -c = 0 -for _ in range(int(input())): - n = int(input()) - f = False - if n == 1 or n == 0 or n == -1: - continue - else: - for i in range(2, n // 2 + 1): - if n % i == 0: - f = True - break - if f: - continue - c += 1 - -print(c) \ No newline at end of file diff --git a/2.4/12.py b/2.4/12.py deleted file mode 100644 index 9ea0b3d..0000000 --- a/2.4/12.py +++ /dev/null @@ -1,10 +0,0 @@ -a, b = int(input()), int(input()) - -lenn = len(str(a * b)) - -for i in range(1, a + 1): - arr = [] - for j in range(1, b + 1): - n = b * (i - 1) + j - arr.append(" " * (lenn - len(str(n))) + str(n)) - print(*arr) \ No newline at end of file diff --git a/2.4/13.py b/2.4/13.py deleted file mode 100644 index 9c46da8..0000000 --- a/2.4/13.py +++ /dev/null @@ -1,10 +0,0 @@ -a, b = int(input()), int(input()) - -lenn = len(str(a * b)) - -for i in range(1, a + 1): - arr = [] - for j in range(1, b + 1): - n = a * (j - 1) + i - arr.append(" " * (lenn - len(str(n))) + str(n)) - print(*arr) \ No newline at end of file diff --git a/2.4/14.py b/2.4/14.py deleted file mode 100644 index 1392302..0000000 --- a/2.4/14.py +++ /dev/null @@ -1,15 +0,0 @@ -a, b = int(input()), int(input()) - -lenn = len(str(a * b)) - -for i in range(1, a + 1): - arr = [] - if i % 2 == 1: - for j in range(1, b + 1): - n = b * (i - 1) + j - arr.append(" " * (lenn - len(str(n))) + str(n)) - else: - for j in range(b, 0, -1): - n = b * (i - 1) + j - arr.append(" " * (lenn - len(str(n))) + str(n)) - print(*arr) \ No newline at end of file diff --git a/2.4/15.py b/2.4/15.py deleted file mode 100644 index 370ae57..0000000 --- a/2.4/15.py +++ /dev/null @@ -1,15 +0,0 @@ -a, b = int(input()), int(input()) - -lenn = len(str(a * b)) - - -for i in range(1, a + 1): - arr = [] - for j in range(1, b + 1): - if j % 2 == 1: - n = a * (j - 1) + i - arr.append(" " * (lenn - len(str(n))) + str(n)) - else: - n = a * (j) - (i - 1) - arr.append(" " * (lenn - len(str(n))) + str(n)) - print(*arr) \ No newline at end of file diff --git a/2.4/16.py b/2.4/16.py deleted file mode 100644 index 6626af9..0000000 --- a/2.4/16.py +++ /dev/null @@ -1,22 +0,0 @@ -n = int(input()) -ln = int(input()) - -a = [] -for i in range(1, n + 1): - if (ln - len(str(i))) % 2 == 0: - a.append(" " * ((ln - len(str(i))) // 2) + str(i) + " " * ((ln - len(str(i))) // 2) + "|") - if (ln - len(str(i))) % 2 == 1: - a.append(" " * ((ln - len(str(i))) // 2) + str(i) + " " * ((ln - len(str(i))) // 2 + 1) + "|") -a[-1] = a[-1][:-1] -print(*a, sep="") - -for i in range(2, n + 1): - a = [] - print("-" * ((ln * n) + (n - 1))) - for j in range(1, n + 1): - if (ln - len(str(i * j))) % 2 == 0: - a.append(" " * ((ln - len(str(i * j))) // 2) + str(i * j) + " " * ((ln - len(str(i * j))) // 2) + "|") - if (ln - len(str(i * j))) % 2 == 1: - a.append(" " * ((ln - len(str(i * j))) // 2) + str(i * j) + " " * ((ln - len(str(i * j))) // 2 + 1) + "|") - a[-1] = a[-1][:-1] - print(*a, sep="") \ No newline at end of file diff --git a/2.4/17.py b/2.4/17.py deleted file mode 100644 index 27801b0..0000000 --- a/2.4/17.py +++ /dev/null @@ -1,7 +0,0 @@ -c = 0 -for _ in range(int(input())): - s = input() - if s == s[::-1]: - c += 1 - -print(c) \ No newline at end of file diff --git a/2.4/18.py b/2.4/18.py deleted file mode 100644 index c0a50c0..0000000 --- a/2.4/18.py +++ /dev/null @@ -1,25 +0,0 @@ -n = int(input()) -a, b = 1, 1 -arr = [] - -while True: - t = [] - f = False - for _ in range(b): - t.append(str(a)) - - if a == n: - f = True - break - - a += 1 - arr.append(t) - if f: - break - - b += 1 - -ln = len(" ".join(arr[-1])) - -for t in arr: - print(f'{" ".join(t):^{ln}}') \ No newline at end of file diff --git a/2.4/19.py b/2.4/19.py deleted file mode 100644 index 516188e..0000000 --- a/2.4/19.py +++ /dev/null @@ -1,22 +0,0 @@ -n = int(input()) - -matrix = [[None] * n for _ in range(n)] -ln = len(str(n - n // 2)) - -for i in range(n): - for j in range(n): - - if i >= n // 2: - a = n - i - else: - a = i + 1 - - if j >= n // 2: - b = n - j - else: - b = j + 1 - - matrix[i][j] = " " * (ln - len(f"{min(a, b)}")) + f"{min(a, b)}" - -for a in matrix: - print(*a) \ No newline at end of file diff --git a/2.4/2.py b/2.4/2.py deleted file mode 100644 index 721a599..0000000 --- a/2.4/2.py +++ /dev/null @@ -1,5 +0,0 @@ -n = int(input()) - -for i in range(n): - for j in range(n): - print(f"{(j + 1)} * {(i + 1)} = {(i + 1) * (j + 1)}") \ No newline at end of file diff --git a/2.4/20.py b/2.4/20.py deleted file mode 100644 index a9e3b8d..0000000 --- a/2.4/20.py +++ /dev/null @@ -1,16 +0,0 @@ -n = int(input()) -m = 0 -m_b = 0 - -for b in range(2, 11): - s = "" - num = n - while num: - s += str(num % b) - num //= b - - if (res := sum([int(i) for i in s])) > m: - m = res - m_b = b - -print(m_b) \ No newline at end of file diff --git a/2.4/2024-10-24_02-02-14.png b/2.4/2024-10-24_02-02-14.png deleted file mode 100644 index dfea455a366a06d4fc1a340d4a8ff77f8069cb6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6009 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 diff --git a/2.4/24.ipynb b/2.4/24.ipynb deleted file mode 100644 index 952c425..0000000 --- a/2.4/24.ipynb +++ /dev/null @@ -1 +0,0 @@ -{"cells":[{"cell_type":"markdown","metadata":{},"source":["## **Таблица умножения**\n","Местная фабрика канцелярских товаров заказала Сѓ вас программу, которая генерирует таблицы умножения.<br>Давайте поддержим локального производителя!\n","### **Формат РІРІРѕРґР°**\n","Вводится РѕРґРЅРѕ натуральное число — требуемый размер таблицы.\n","### **Формат вывода**\n","Таблица умножения заданного размера.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br> <br> <br>|1 2 3<br>2 4 6<br>3 6 9<br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|5<br> <br> <br> <br> <br>|1 2 3 4 5<br>2 4 6 8 10<br>3 6 9 12 15<br>4 8 12 16 20<br>5 10 15 20 25<br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["n = int(input())\n","\n","m = [[0] * n for i in range(n)]\n","\n","for i in range(n):\n"," m[0][i] = i + 1\n","\n","for i in range(1, n):\n"," for j in range(n):\n"," m[i][j] = (i + 1) * (j + 1)\n","\n","for arr in m:\n"," print(*arr)"]},{"cell_type":"markdown","metadata":{},"source":["## **РќРµ таблица умножения**\n","Фабрика вернулась СЃ РЅРѕРІРѕР№ задачкой — РґСЂСѓРіРёРј вариантом таблицы умножения. РћРЅР° нужна РІ РІРёРґРµ СЃРїРёСЃРєР°. Продолжим помогать местному бизнесу.\n","### **Формат РІРІРѕРґР°**\n","Вводится РѕРґРЅРѕ натуральное число — требуемый размер «таблицы».\n","### **Формат вывода**\n","РќРµ таблица умножения заданного размера.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br> <br> <br> <br> <br> <br> <br> <br> <br>|1 * 1 = 1<br>2 * 1 = 2<br>3 * 1 = 3<br>1 * 2 = 2<br>2 * 2 = 4<br>3 * 2 = 6<br>1 * 3 = 3<br>2 * 3 = 6<br>3 * 3 = 9<br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|5<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>|1 * 1 = 1<br>2 * 1 = 2<br>3 * 1 = 3<br>4 * 1 = 4<br>5 * 1 = 5<br>1 * 2 = 2<br>2 * 2 = 4<br>3 * 2 = 6<br>4 * 2 = 8<br>5 * 2 = 10<br>1 * 3 = 3<br>2 * 3 = 6<br>3 * 3 = 9<br>4 * 3 = 12<br>5 * 3 = 15<br>1 * 4 = 4<br>2 * 4 = 8<br>3 * 4 = 12<br>4 * 4 = 16<br>5 * 4 = 20<br>1 * 5 = 5<br>2 * 5 = 10<br>3 * 5 = 15<br>4 * 5 = 20<br>5 * 5 = 25<br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["n = int(input())\n","\n","for i in range(n):\n"," for j in range(n):\n"," print(f\"{(j + 1)} * {(i + 1)} = {(i + 1) * (j + 1)}\")"]},{"cell_type":"markdown","metadata":{},"source":["## **Новогоднее настроение**\n","Великий математик Виталий Евгеньевич каждый Новый РіРѕРґ РїСЂРѕРІРѕРґРёС‚ РЅР° работе. Коллеги всегда любили Рё ценили его, поэтому РІ этом РіРѕРґСѓ решили сделать ему СЃСЋСЂРїСЂРёР· — украсить кабинет учёного математическими ёлками. Помогите математикам Рё напишите программу, которая РїРѕ введённому числу строит математическую ёлку.\n","### **Формат РІРІРѕРґР°**\n","Вводится РѕРґРЅРѕ натуральное число — количество чисел РІ математической ёлке.\n","### **Формат вывода**\n","Требуемая РЅРѕРІРѕРіРѕРґРЅСЏСЏ ёлка.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|14<br> <br> <br> <br> <br>|1<br>2 3<br>4 5 6<br>7 8 9 10<br>11 12 13 14<br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|6<br> <br> <br>|1<br>2 3<br>4 5 6<br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["n = int(input())\n","a = 1\n","b = 1\n","arr = []\n","\n","while True:\n"," f = False\n"," for _ in range(1, b + 1):\n"," arr.append(a)\n"," if a == n:\n"," print(*arr)\n"," f = True\n"," break\n"," a += 1\n"," \n"," if f:\n"," break\n","\n"," print(*arr)\n","\n"," arr = []\n"," b += 1"]},{"cell_type":"markdown","metadata":{},"source":["## **Суммарная СЃСѓРјРјР°**\n","Найти СЃСѓРјРјСѓ цифр числа РЅРµ так сложно, РЅРѕ что, если чисел несколько?<br>Напишите программу для выполнения этого действия.\n","### **Формат РІРІРѕРґР°**\n","Р’ первой строке указано число $N$ Р’Рѕ всех последующих $N$ строках написано РїРѕ РѕРґРЅРѕРјСѓ числу.\n","### **Формат вывода**\n","Требуется вывести общую СЃСѓРјРјСѓ цифр всех введённых чисел (РєСЂРѕРјРµ $N$).\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|5<br>1<br>2<br>3<br>4<br>5|15<br> <br> <br> <br> <br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>123<br>654<br>789|45<br> <br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["print(sum([sum([int(i) for i in input()]) for _ in range(int(input()))]))"]},{"cell_type":"markdown","metadata":{},"source":["## **Зайка — 5**\n","Р’ долгой РґРѕСЂРѕРіРµ дети РІРЅРѕРІСЊ заскучали, Рё родителям приходится РёС… развлекать РїРѕРёСЃРєРѕРј зверушек Р·Р° РѕРєРЅРѕРј. Давайте вместе СЃ РЅРёРјРё найдём заек.\n","### **Формат РІРІРѕРґР°**\n","Р’ первой строке указано натуральное число $N$ — количество выделенных придорожных местностей. Р’ последующих строках записаны слова характеризующие выделенную местность.<br>Рнформация Рѕ каждой местности завершается словом «ВСЁ».\n","### **Формат вывода**\n","Количество местностей, РІ которых есть зайка.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>березка<br>елочка<br>зайка<br>волк<br>березка<br>Р’РЎРЃ<br>СЃРѕСЃРЅР°<br>СЃРѕСЃРЅР°<br>СЃРѕСЃРЅР°<br>елочка<br>грибочки<br>медведь<br>Р’РЎРЃ<br>СЃРѕСЃРЅР°<br>СЃРѕСЃРЅР°<br>СЃРѕСЃРЅР°<br>белочка<br>СЃРѕСЃРЅР°<br>белочка<br>Р’РЎРЃ|1<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|4<br>зайка<br>березка<br>Р’РЎРЃ<br>зайка<br>зайка<br>Р’РЎРЃ<br>березка<br>елочка<br>березка<br>Р’РЎРЃ<br>елочка<br>елочка<br>елочка<br>Р’РЎРЃ|2<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["c = 0\n","\n","for _ in range(int(input())):\n"," s = input()\n"," arr = []\n","\n"," while s != \"Р’РЎРЃ\":\n"," arr.append(s)\n"," s = input()\n","\n"," if \"зайка\" in arr:\n"," c += 1\n","\n","print(c)"]},{"cell_type":"markdown","metadata":{},"source":["## **РќРћР” 2.0**\n","Р’ РѕРґРЅРѕРј РёР· местных РќРРчасто требуется находить наибольший общий делитель (РќРћР”) нескольких чисел. Вам уже доверяют, так что РІРЅРѕРІСЊ пришли СЃ этой задачей.\n","### **Формат РІРІРѕРґР°**\n","Р’ первой строке записано РѕРґРЅРѕ число $N$ — количество данных. Р’ каждой РёР· последующих $N$ строк записано РїРѕ РѕРґРЅРѕРјСѓ натуральному числу.\n","### **Формат вывода**\n","Требуется вывести РѕРґРЅРѕ натуральное число — РќРћР” всех данных чисел (РєСЂРѕРјРµ $N$).\n","### **Примечание**\n","Самый распространённый СЃРїРѕСЃРѕР± РїРѕРёСЃРєР° РќРћР” — Алгоритм Евклида.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|2<br>12<br>42|6<br> <br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>102<br>39<br>768|3<br> <br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["arr = []\n","for _ in range(int(input())):\n"," arr.append(int(input()))\n"," if len(arr) <= 1:\n"," continue\n"," a, b = sorted(arr)\n","\n"," while a != b:\n"," b, a = a, b - a\n"," a, b = sorted([a, b])\n","\n"," arr = [a]\n","\n","print(arr[0])"]},{"cell_type":"markdown","metadata":{},"source":["## **РќР° старт! Внимание! Марш!**\n","РџРѕ правилам велогонки, после квалификации каждый гонщик стартует СЃ задержкой РЅР° секунду больше, чем Сѓ гонщика перед РЅРёРј.<br>Первый гонщик стартует РЅР° счёт 3. Напишите программу, которая сможет автоматизировать старт всех гонщиков, участвующих РІ велогонке.\n","### **Формат РІРІРѕРґР°**\n","Вводится РѕРґРЅРѕ натуральное число — количество участников велогонки.\n","### **Формат вывода**\n","Требуется вывести отсчёт.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>|До старта 3 секунд(С‹)<br>До старта 2 секунд(С‹)<br>До старта 1 секунд(С‹)<br>Старт 1!!!<br>До старта 4 секунд(С‹)<br>До старта 3 секунд(С‹)<br>До старта 2 секунд(С‹)<br>До старта 1 секунд(С‹)<br>Старт 2!!!<br>До старта 5 секунд(С‹)<br>До старта 4 секунд(С‹)<br>До старта 3 секунд(С‹)<br>До старта 2 секунд(С‹)<br>До старта 1 секунд(С‹)<br>Старт 3!!!<br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|4<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>|До старта 3 секунд(С‹)<br>До старта 2 секунд(С‹)<br>До старта 1 секунд(С‹)<br>Старт 1!!!<br>До старта 4 секунд(С‹)<br>До старта 3 секунд(С‹)<br>До старта 2 секунд(С‹)<br>До старта 1 секунд(С‹)<br>Старт 2!!!<br>До старта 5 секунд(С‹)<br>До старта 4 секунд(С‹)<br>До старта 3 секунд(С‹)<br>До старта 2 секунд(С‹)<br>До старта 1 секунд(С‹)<br>Старт 3!!!<br>До старта 6 секунд(С‹)<br>До старта 5 секунд(С‹)<br>До старта 4 секунд(С‹)<br>До старта 3 секунд(С‹)<br>До старта 2 секунд(С‹)<br>До старта 1 секунд(С‹)<br>Старт 4!!!<br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["for i in range(int(input())):\n"," for j in range(3 + i, 0, -1):\n"," print(f\"До старта {j} секунд(С‹)\")\n"," print(f\"Старт {i + 1}!!!\")"]},{"cell_type":"markdown","metadata":{},"source":["## **Максимальная СЃСѓРјРјР°**\n","Ребята РІ детском саду СЃРЅРѕРІР° играют СЃ числами. Рпусть числа РѕРЅРё знают плохо, придумывать РёС… РѕРЅРё очень любят.<br>РћРЅРё договорились, что Р±СѓРґСѓС‚ называть числа РїРѕ очереди Рё тот, кто назовёт число СЃ наибольшей СЃСѓРјРјРѕР№ цифр, будет считаться победителем. Р’ качестве СЃСѓРґСЊРё РѕРЅРё выбрали бедную воспитательницу, Рё РѕРЅР° попросила нас Рѕ помощи. Напишите программу, которая определит победителя.\n","### **Формат РІРІРѕРґР°**\n","Р’ первой строке записано число $N$ — количество детей РІ РіСЂСѓРїРїРµ. Далее вводятся РёРјСЏ ребенка Рё его число (каждое РЅР° своей строке).\n","### **Формат вывода**\n","Требуется вывести РёРјСЏ победителя.<br>Если РґРІР° ребенка назвали числа СЃ одинаковой СЃСѓРјРјРѕР№ цифр, победителем должен быть признан тот, кто С…РѕРґРёР» позже.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|2<br>РђРЅСЏ<br>123<br>Боря<br>234|Боря<br> <br> <br> <br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>РђРЅСЏ<br>1234<br>Боря<br>234<br>Ваня<br>2323|Ваня<br> <br> <br> <br> <br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["arrs, arrn = [], []\n","for _ in range(int(input())):\n"," arrs.append(input())\n"," arrn.append(sum([int(i) for i in input()]))\n","\n","print(arrs[len(arrs) - 1 - (arrn[::-1].index(max(arrn)))])"]},{"cell_type":"markdown","metadata":{},"source":["## **Большое число**\n","Дети никак РЅРµ успокоятся Рё продолжают «мучить» числа. Сейчас РѕРЅРё хотят общими силами составить очень большое число. Каждый ребёнок называет число состоящее РёР· цифр, которые РѕРЅ знает. Напишите программу, которая строит число, состоящее РёР· максимальных цифр каждого ребёнка.\n","### **Формат РІРІРѕРґР°**\n","Р’ первой строке указано число $N$ — количество детей РІ РіСЂСѓРїРїРµ. Р’ каждой РёР· последующих $N$ строк записано число.\n","### **Формат вывода**\n","РћРґРЅРѕ большое число.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|2<br>123<br>234|34<br> <br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>1234<br>7234<br>2323|473<br> <br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["arr = []\n","\n","for _ in range(int(input())):\n"," arr.append(str(max([int(i) for i in input()])))\n","\n","print(\"\".join(arr))"]},{"cell_type":"markdown","metadata":{},"source":["## **РњС‹ делили апельсин**\n","РђРЅСЏ, Боря Рё Р’РѕРІР° решили съесть апельсин.<br>Подскажите ребятам, как РёРј его разделить. Напишите программу, которая выводит РІСЃРµ возможные СЃРїРѕСЃРѕР±С‹ разделки апельсина.\n","### **Формат РІРІРѕРґР°**\n","Р’ единственной строке записано количество долек апельсина.\n","### **Формат вывода**\n","Таблица вариантов разделения апельсина.<br><br>Примечания<br>Каждому ребёнку должна достаться хотя Р±С‹ РѕРґРЅР° долька апельсина.<br>РќРё РѕРґРЅРѕР№ дольки РЅРµ должно остаться.<br>Выводить варианты РІ РїРѕСЂСЏРґРєРµ увеличения количества долек Сѓ РђРЅРё, затем Бори Рё затем уже Р’РѕРІС‹.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br> <br>|Рђ Р‘ Р’<br>1 1 1<br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|5<br> <br> <br> <br> <br> <br> <br>|Рђ Р‘ Р’<br>1 1 3<br>1 2 2<br>1 3 1<br>2 1 2<br>2 2 1<br>3 1 1<br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["n = int(input())\n","print(\"Рђ Р‘ Р’\")\n","\n","arr = [1, 1, n - 2]\n","print(*arr)\n","\n","for i in range(2, n - 1):\n"," arr = [1, i, n - 1 - i]\n"," print(*arr)\n","\n","for i in range(2, n - 1):\n"," for j in range(1, n - i):\n"," arr = [i, j, n - j - i]\n"," print(*arr)"]},{"cell_type":"markdown","metadata":{},"source":["## **Простая задача 3.0**\n","Р’СЃРїРѕРјРЅРёРј, что простые числа — те натуральные числа, Сѓ которых РґРІР° делителя: РѕРЅРѕ само Рё 1.<br>Напишите программу для определения количества простых чисел среди введённых.\n","### **Формат РІРІРѕРґР°**\n","Р’ первой строке записано число $N$ Р’Рѕ всех последующих $N$ строках — РїРѕ РѕРґРЅРѕРјСѓ числу.\n","### **Формат вывода**\n","Требуется вывести общее количество простых чисел среди введённых (РєСЂРѕРјРµ $N$).\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|5<br>1<br>2<br>3<br>4<br>5|3<br> <br> <br> <br> <br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|6<br>11<br>13<br>15<br>63<br>71<br>51|3<br> <br> <br> <br> <br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["c = 0\n","for _ in range(int(input())):\n"," n = int(input())\n"," f = False\n"," if n == 1 or n == 0 or n == -1:\n"," continue\n"," else:\n"," for i in range(2, n // 2 + 1):\n"," if n % i == 0:\n"," f = True\n"," break\n"," if f:\n"," continue\n"," c += 1\n","\n","print(c)"]},{"cell_type":"markdown","metadata":{},"source":["## **Числовой прямоугольник**\n","Ребята РІ детском саду учатся считать, Рё чтобы РёРј было интереснее, воспитательница решила оформить СЃРїРёСЃРѕРє изучаемых чисел особым образом.<br>Дети справляются весьма быстро, поэтому ей требуется программа способная строить числовые прямоугольники. Напишите программу, которая строит числовой прямоугольник требуемого размера.\n","### **Формат РІРІРѕРґР°**\n","Р’ первой строке записано число $N$ — высота числового прямоугольника.<br>Р’Рѕ второй строке указано число $M$ — ширина числового прямоугольника.\n","### **Формат вывода**\n","Нужно вывести сформированный числовой прямоугольник требуемого размера.<br>Чтобы прямоугольник был красивым, каждый его столбец должен быть одинаковой ширины.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|2<br> <br> <br>|3<br>1 2 3<br>4 5 6<br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|4<br> <br> <br> <br> <br>|6<br> 1 2 3 4 5 6<br> 7 8 9 10 11 12<br>13 14 15 16 17 18<br>19 20 21 22 23 24<br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["a, b = int(input()), int(input())\n","\n","lenn = len(str(a * b))\n","\n","for i in range(1, a + 1):\n"," arr = []\n"," for j in range(1, b + 1):\n"," n = b * (i - 1) + j\n"," arr.append(\" \" * (lenn - len(str(n))) + str(n))\n"," print(*arr)"]},{"cell_type":"markdown","metadata":{},"source":["## **Числовой прямоугольник 2.0**\n","Давайте РІРЅРѕРІСЊ поможем воспитательнице учить ребят числам. Напишите программу, которая строит числовой прямоугольник требуемого размера.\n","### **Формат РІРІРѕРґР°**\n","Р’ первой строке записано число $N$ — высота числового прямоугольника.<br>Р’Рѕ второй строке указано число $M$ — ширина числового прямоугольника.\n","### **Формат вывода**\n","Нужно вывести сформированный числовой прямоугольник требуемого размера.<br>Чтобы прямоугольник был красивым, каждый его столбец должен обладать одинаковой шириной.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|2<br>3|1 3 5<br>2 4 6|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|4<br>6<br> <br> <br>| 1 5 9 13 17 21<br> 2 6 10 14 18 22<br> 3 7 11 15 19 23<br> 4 8 12 16 20 24<br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["a, b = int(input()), int(input())\n","\n","lenn = len(str(a * b))\n","\n","for i in range(1, a + 1):\n"," arr = []\n"," for j in range(1, b + 1):\n"," n = a * (j - 1) + i\n"," arr.append(\" \" * (lenn - len(str(n))) + str(n))\n"," print(*arr)"]},{"cell_type":"markdown","metadata":{},"source":["## **Числовая змейка**\n","РЈРІС‹, обыкновенные прямоугольники детям быстро наскучили. Теперь воспитательнице требуется новая программа. Напишите программу, которая строит числовую змейку требуемого размера.\n","### **Формат РІРІРѕРґР°**\n","Р’ первой строке записано число $N$ — высота числового прямоугольника.<br>Р’Рѕ второй строке указано число $M$ — ширина числового прямоугольника.\n","### **Формат вывода**\n","Нужно вывести сформированную числовую змейку требуемого размера.<br>Чтобы прямоугольник был красивым, каждый его столбец следует сделать одинаковой ширины.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|2<br>3|1 2 3<br>6 5 4|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|4<br>6<br> <br> <br>| 1 2 3 4 5 6<br>12 11 10 9 8 7<br>13 14 15 16 17 18<br>24 23 22 21 20 19<br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["a, b = int(input()), int(input())\n","\n","lenn = len(str(a * b))\n","\n","for i in range(1, a + 1):\n"," arr = []\n"," if i % 2 == 1:\n"," for j in range(1, b + 1):\n"," n = b * (i - 1) + j\n"," arr.append(\" \" * (lenn - len(str(n))) + str(n))\n"," else:\n"," for j in range(b, 0, -1):\n"," n = b * (i - 1) + j\n"," arr.append(\" \" * (lenn - len(str(n))) + str(n))\n"," print(*arr)"]},{"cell_type":"markdown","metadata":{},"source":["## **Числовая змейка 2.0**\n","Воспитательнице РІРЅРѕРІСЊ нужна программа, которая будет генерировать змейку РёР· чисел. Напишите программу, которая строит числовую змейку требуемого размера.\n","### **Формат РІРІРѕРґР°**\n","Р’ первой строке записано число $N$ — высота числового прямоугольника.<br>Р’Рѕ второй строке указано число $M$ — ширина числового прямоугольника.\n","### **Формат вывода**\n","Нужно вывести сформированную числовую змейку требуемого размера.<br>Чтобы прямоугольник был красивым, каждый его столбец следует сделать одинаковой ширины.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|2<br>3|1 4 5<br>2 3 6|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|4<br>6<br> <br> <br>| 1 8 9 16 17 24<br> 2 7 10 15 18 23<br> 3 6 11 14 19 22<br> 4 5 12 13 20 21<br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["a, b = int(input()), int(input())\n","\n","lenn = len(str(a * b))\n","\n","\n","for i in range(1, a + 1):\n"," arr = []\n"," for j in range(1, b + 1):\n"," if j % 2 == 1:\n"," n = a * (j - 1) + i\n"," arr.append(\" \" * (lenn - len(str(n))) + str(n))\n"," else:\n"," n = a * (j) - (i - 1)\n"," arr.append(\" \" * (lenn - len(str(n))) + str(n))\n"," print(*arr)"]},{"cell_type":"markdown","metadata":{},"source":["## **Редизайн таблицы умножения**\n","Согласитесь, что предыдущие таблицы умножения выглядят РЅРµ очень красиво. Давайте зададим для всех столбцов одинаковую ширину, Р° значения РІ ячейках выровним РїРѕ центру.<br>Р РґР°, заказчик РїРѕРїСЂРѕСЃРёР» ещё добавить РІ таблицу рамки между ячейками.\n","### **Формат РІРІРѕРґР°**\n","Р’ первой строке записан требуемый размер таблицы. Р’Рѕ второй строке — ширина столбцов.\n","### **Формат вывода**\n","Таблица умножения заданного размера Рё РІРёРґР°.\n","\n","\n",""]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["n = int(input())\n","ln = int(input())\n","\n","a = []\n","for i in range(1, n + 1):\n"," if (ln - len(str(i))) % 2 == 0:\n"," a.append(\" \" * ((ln - len(str(i))) // 2) + str(i) + \" \" * ((ln - len(str(i))) // 2) + \"|\")\n"," if (ln - len(str(i))) % 2 == 1:\n"," a.append(\" \" * ((ln - len(str(i))) // 2) + str(i) + \" \" * ((ln - len(str(i))) // 2 + 1) + \"|\")\n","a[-1] = a[-1][:-1]\n","print(*a, sep=\"\")\n","\n","for i in range(2, n + 1):\n"," a = []\n"," print(\"-\" * ((ln * n) + (n - 1)))\n"," for j in range(1, n + 1):\n"," if (ln - len(str(i * j))) % 2 == 0:\n"," a.append(\" \" * ((ln - len(str(i * j))) // 2) + str(i * j) + \" \" * ((ln - len(str(i * j))) // 2) + \"|\")\n"," if (ln - len(str(i * j))) % 2 == 1:\n"," a.append(\" \" * ((ln - len(str(i * j))) // 2) + str(i * j) + \" \" * ((ln - len(str(i * j))) // 2 + 1) + \"|\")\n"," a[-1] = a[-1][:-1]\n"," print(*a, sep=\"\") "]},{"cell_type":"markdown","metadata":{},"source":["## **Рђ СЂРѕР·Р° упала РЅР° лапу РђР·РѕСЂР° 3.0**\n","Вернёмся Рє палиндромам. Напишите программу, которая определяет количество палиндромов РІ переданном СЃРїРёСЃРєРµ.\n","### **Формат РІРІРѕРґР°**\n","Р’ первой строке записано число $N$ Р’Рѕ всех последующих $N$ строках указано РїРѕ РѕРґРЅРѕРјСѓ числу.\n","### **Формат вывода**\n","Требуется вывести общее количество палиндромов среди введённых чисел (РєСЂРѕРјРµ числа $N$).\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|5<br>1<br>2<br>3<br>4<br>5|5<br> <br> <br> <br> <br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>123<br>454<br>321|1<br> <br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["c = 0\n","for _ in range(int(input())):\n"," s = input()\n"," if s == s[::-1]:\n"," c += 1\n","\n","print(c)"]},{"cell_type":"markdown","metadata":{},"source":["## **Новогоднее настроение 2.0**\n","Коллеги математика РІРЅРѕРІСЊ хотят порадовать его Рё сделать математические ёлки, которые украсят кабинет учёного.<br>Помогите РёРј, написав программу, которая РїРѕ введённому числу строит математическую ёлку.\n","### **Формат РІРІРѕРґР°**\n","Вводится РѕРґРЅРѕ натуральное число — количество чисел РІ математической ёлке.\n","### **Формат вывода**\n","Требуемая РЅРѕРІРѕРіРѕРґРЅСЏ ёлка.\n","### **Примечание**\n","РќРµ забывайте РїСЂРѕ существование f-строк.<br><br>Р’ данный момент визуализация примеров работает РЅРµ корректно.<br>Ответ РЅР° первый тест должен выглядеть так:<br>\n"," 1 <br> 2 3 <br> 4 5 6 <br> 7 8 9 10 <br>11 12 13 14\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|14<br> <br> <br> <br> <br>| 1 <br> 2 3 <br> 4 5 6 <br> 7 8 9 10 <br>11 12 13 14<br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|6<br> <br> <br>| 1 <br> 2 3 <br>4 5 6<br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["n = int(input())\n","a, b = 1, 1\n","arr = []\n","\n","while True:\n"," t = []\n"," f = False\n"," for _ in range(b):\n"," t.append(str(a))\n","\n"," if a == n:\n"," f = True\n"," break\n","\n"," a += 1\n"," arr.append(t)\n"," if f:\n"," break\n","\n"," b += 1\n","\n","ln = len(\" \".join(arr[-1]))\n","\n","for t in arr:\n"," print(f'{\" \".join(t):^{ln}}')"]},{"cell_type":"markdown","metadata":{},"source":["## **Числовой квадрат**\n","Рљ сожалению, Рё змейки детям надоели, поэтому воспитательнице нужна новая программа. Напишите программу, которая строит числовой квадрат требуемого размера.\n","### **Формат РІРІРѕРґР°**\n","Р’ первой строке записано число $N$ — высота Рё ширина числового квадрата.\n","### **Формат вывода**\n","Требуется вывести сформированный числовой квадрат требуемого размера.<br>Чтобы квадрат был красивым, каждый его столбец — одинаковой ширины.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br> <br> <br>|1 1 1<br>1 2 1<br>1 1 1<br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|5<br> <br> <br> <br> <br>|1 1 1 1 1<br>1 2 2 2 1<br>1 2 3 2 1<br>1 2 2 2 1<br>1 1 1 1 1<br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["n = int(input())\n","\n","matrix = [[None] * n for _ in range(n)]\n","ln = len(str(n - n // 2))\n","\n","for i in range(n):\n"," for j in range(n):\n","\n"," if i >= n // 2:\n"," a = n - i\n"," else:\n"," a = i + 1\n","\n"," if j >= n // 2:\n"," b = n - j\n"," else:\n"," b = j + 1\n"," \n"," matrix[i][j] = \" \" * (ln - len(f\"{min(a, b)}\")) + f\"{min(a, b)}\"\n","\n","for a in matrix:\n"," print(*a)"]},{"cell_type":"markdown","metadata":{},"source":["## **Математическая выгода**\n","Математик Виталий Евгеньевич задумался над РІРѕРїСЂРѕСЃРѕРј выгоды систем счисления. РћРЅ решил, что выгодной системой счисления будет являться та, РІ которой число имеет наибольшую СЃСѓРјРјСѓ цифр. Напишите программу, которая РїРѕ введённому числу определяет основание системы счисления СЃ максимальной выгодой.\n","### **Формат РІРІРѕРґР°**\n","РћРґРЅРѕ натурально число.\n","### **Формат вывода**\n","РћРґРЅРѕ натуральное число РёР· диапазона [2;10] — основание системы счисления СЃ максимальной выгодой.<br>Если таких оснований несколько, выбирается наименьшее.\n","### **Примечание**\n","Подробнее Рѕ системах счисления можно почитать здесь\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|12|7|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|52|9|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["n = int(input())\n","m = 0\n","m_b = 0\n","\n","for b in range(2, 11):\n"," s = \"\"\n"," num = n\n"," while num:\n"," s += str(num % b)\n"," num //= b\n","\n"," if (res := sum([int(i) for i in s])) > m:\n"," m = res\n"," m_b = b\n","\n","print(m_b)"]}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.11.1"}},"nbformat":4,"nbformat_minor":2} diff --git a/2.4/3.py b/2.4/3.py deleted file mode 100644 index f432b4c..0000000 --- a/2.4/3.py +++ /dev/null @@ -1,23 +0,0 @@ -n = int(input()) -a = 1 -b = 1 -arr = [] - -while True: - f = False - for _ in range(1, b + 1): - arr.append(a) - if a == n: - print(*arr) - f = True - break - a += 1 - - if f: - break - - print(*arr) - - arr = [] - b += 1 - \ No newline at end of file diff --git a/2.4/4.py b/2.4/4.py deleted file mode 100644 index 860c92c..0000000 --- a/2.4/4.py +++ /dev/null @@ -1 +0,0 @@ -print(sum([sum([int(i) for i in input()]) for _ in range(int(input()))])) \ No newline at end of file diff --git a/2.4/5.py b/2.4/5.py deleted file mode 100644 index f0b2629..0000000 --- a/2.4/5.py +++ /dev/null @@ -1,14 +0,0 @@ -c = 0 - -for _ in range(int(input())): - s = input() - arr = [] - - while s != "Р’РЎРЃ": - arr.append(s) - s = input() - - if "зайка" in arr: - c += 1 - -print(c) \ No newline at end of file diff --git a/2.4/6.py b/2.4/6.py deleted file mode 100644 index 94aa27b..0000000 --- a/2.4/6.py +++ /dev/null @@ -1,14 +0,0 @@ -arr = [] -for _ in range(int(input())): - arr.append(int(input())) - if len(arr) <= 1: - continue - a, b = sorted(arr) - - while a != b: - b, a = a, b - a - a, b = sorted([a, b]) - - arr = [a] - -print(arr[0]) \ No newline at end of file diff --git a/2.4/7.py b/2.4/7.py deleted file mode 100644 index cb6c8f0..0000000 --- a/2.4/7.py +++ /dev/null @@ -1,4 +0,0 @@ -for i in range(int(input())): - for j in range(3 + i, 0, -1): - print(f"До старта {j} секунд(С‹)") - print(f"Старт {i + 1}!!!") \ No newline at end of file diff --git a/2.4/8.py b/2.4/8.py deleted file mode 100644 index f87ba4a..0000000 --- a/2.4/8.py +++ /dev/null @@ -1,6 +0,0 @@ -arrs, arrn = [], [] -for _ in range(int(input())): - arrs.append(input()) - arrn.append(sum([int(i) for i in input()])) - -print(arrs[len(arrs) - 1 - (arrn[::-1].index(max(arrn)))]) \ No newline at end of file diff --git a/2.4/9.py b/2.4/9.py deleted file mode 100644 index 8bfaace..0000000 --- a/2.4/9.py +++ /dev/null @@ -1,6 +0,0 @@ -arr = [] - -for _ in range(int(input())): - arr.append(str(max([int(i) for i in input()]))) - -print("".join(arr)) \ No newline at end of file diff --git a/3.1/1.py b/3.1/1.py deleted file mode 100644 index ab375d2..0000000 --- a/3.1/1.py +++ /dev/null @@ -1,16 +0,0 @@ -f = True -for i in range(int(input())): - s = input().lower()[0] - for sym in "абв": - if sym == s: - f = True - break - else: - f = False - if not f: - break - -if f: - print("YES") -else: - print("NO") \ No newline at end of file diff --git a/3.1/10.py b/3.1/10.py deleted file mode 100644 index 0f6aa92..0000000 --- a/3.1/10.py +++ /dev/null @@ -1,26 +0,0 @@ -string = "" -s = input() -while s != "Р¤РРќРРЁ": - string += s - s = input() - -string = string.lower().replace(" ", "") - -d = {} - -for i in string: - if i in d: - d[i] += 1 - else: - d[i] = 1 - -maxl, s = 0, "СЏ" -for i in d.keys(): - if d[i] > maxl: - maxl = d[i] - s = i - elif d[i] == maxl: - if ord(i) < ord(s): - s = i - -print(s) \ No newline at end of file diff --git a/3.1/11.py b/3.1/11.py deleted file mode 100644 index fe6ded3..0000000 --- a/3.1/11.py +++ /dev/null @@ -1,7 +0,0 @@ -arr = [input() for _ in range(int(input()))] - -research = input() - -for s in arr: - if research.lower() in s.lower(): - print(s) \ No newline at end of file diff --git a/3.1/12.py b/3.1/12.py deleted file mode 100644 index 5bfc468..0000000 --- a/3.1/12.py +++ /dev/null @@ -1,5 +0,0 @@ -arr = ["Манная", "Гречневая", "Пшённая", "Овсяная", "Рисовая"] - -n = int(input()) -for i in range(n): - print(arr[i % 5]) \ No newline at end of file diff --git a/3.1/13.py b/3.1/13.py deleted file mode 100644 index 26ff0a0..0000000 --- a/3.1/13.py +++ /dev/null @@ -1,6 +0,0 @@ -arr = [int(input()) for _ in range(int(input()))] - -p = int(input()) - -for i in arr: - print(i**p) \ No newline at end of file diff --git a/3.1/14.py b/3.1/14.py deleted file mode 100644 index 483d8c6..0000000 --- a/3.1/14.py +++ /dev/null @@ -1,4 +0,0 @@ -arr = [int(i) for i in input().split()] -p = int(input()) -for i in arr: - print(i ** p, end=" ") \ No newline at end of file diff --git a/3.1/15.py b/3.1/15.py deleted file mode 100644 index 8c6c92a..0000000 --- a/3.1/15.py +++ /dev/null @@ -1,13 +0,0 @@ -arr = [int(i) for i in input().split()] - -nod = 0 -for i in range(len(arr) - 1): - a, b = arr[i], arr[i + 1] - while a != b: - if a > b: - a -= b - else: - b -= a - arr[i + 1] = a - -print(arr[-1]) \ No newline at end of file diff --git a/3.1/16.py b/3.1/16.py deleted file mode 100644 index 9f69d91..0000000 --- a/3.1/16.py +++ /dev/null @@ -1,14 +0,0 @@ -length = int(input()) - 3 - -arr = [input() for _ in range(int(input()))] - -for elem in arr: - if len(elem) < length: - print(elem) - length -= len(elem) - elif len(elem) == length: - print(f"{elem}...") - break - else: - print(f"{elem[:length]}...") - break \ No newline at end of file diff --git a/3.1/17.py b/3.1/17.py deleted file mode 100644 index 8e0b61b..0000000 --- a/3.1/17.py +++ /dev/null @@ -1,6 +0,0 @@ -s = input().lower().replace(" ", "") - -if s == s[::-1]: - print("YES") -else: - print("NO") \ No newline at end of file diff --git a/3.1/18.py b/3.1/18.py deleted file mode 100644 index 2afc744..0000000 --- a/3.1/18.py +++ /dev/null @@ -1,11 +0,0 @@ -s = input() -sym = s[0] -c = 1 -for i in s[1:]: - if sym == i: - c += 1 - else: - print(sym, c) - sym = i - c = 1 -print(sym, c) \ No newline at end of file diff --git a/3.1/19.py b/3.1/19.py deleted file mode 100644 index c86310e..0000000 --- a/3.1/19.py +++ /dev/null @@ -1,10 +0,0 @@ -arr = input().split() -stek = [] -for elem in arr: - if elem in "*-+": - res = eval(f"{stek.pop(-2)} {elem} {stek.pop(-1)}") - stek.append(res) - else: - stek.append(int(elem)) - -print(stek[0]) \ No newline at end of file diff --git a/3.1/2.py b/3.1/2.py deleted file mode 100644 index d5f58f0..0000000 --- a/3.1/2.py +++ /dev/null @@ -1,3 +0,0 @@ -s = input() -for i in s: - print(i) \ No newline at end of file diff --git a/3.1/20.py b/3.1/20.py deleted file mode 100644 index 2497a5c..0000000 --- a/3.1/20.py +++ /dev/null @@ -1,34 +0,0 @@ -arr = input().split() -stek = [] -for elem in arr: - if elem in "*-+": - res = eval(f"{stek.pop(-2)} {elem} {stek.pop(-1)}") - stek.append(res) - - elif elem == "/": - res = eval(f"{stek.pop(-2)} // {stek.pop(-1)}") - stek.append(res) - - elif elem == "~": - res = stek.pop(-1) * (-1) - stek.append(res) - - elif elem == "#": - stek.append(stek[-1]) - - elif elem == "!": - res = stek.pop(-1) - prod = 1 - while res: - prod *= res - res -= 1 - stek.append(prod) - - elif elem == "@": - a, b, c = stek.pop(-3), stek.pop(-2), stek.pop(-1) - stek += [b, c, a] - - else: - stek.append(int(elem)) - -print(stek[0]) \ No newline at end of file diff --git a/3.1/3.py b/3.1/3.py deleted file mode 100644 index 4d179b4..0000000 --- a/3.1/3.py +++ /dev/null @@ -1,12 +0,0 @@ -length, n = int(input()), int(input()) - -arr = [] - -for _ in range(n): - arr.append(input()) - -for s in arr: - if len(s) > length: - print(f"{s[:(length - 3)]}...") - else: - print(s) \ No newline at end of file diff --git a/3.1/31.ipynb b/3.1/31.ipynb deleted file mode 100644 index 58f2b76..0000000 --- a/3.1/31.ipynb +++ /dev/null @@ -1 +0,0 @@ -{"cells":[{"cell_type":"markdown","metadata":{},"source":["## **РђР·Р±СѓРєР°**\n","Знакомые нам воспитанники детского сада наконец-то начали учить Р±СѓРєРІС‹.<br>Воспитатель предложил ребятам назвать слова, которые начинаются СЃ Рђ, Р‘ или Р’. Напишите программу, которая проверяет, что первая Р±СѓРєРІР° РІРѕ всех словах — Рђ, Р‘ или Р’.\n","### **Формат РІРІРѕРґР°**\n","Вводится натуральное число $N$ — количество слов, названных детьми.<br>Р’ каждой РёР· последующих $N$ строк записано РїРѕ РѕРґРЅРѕРјСѓ слову строчными буквам.\n","### **Формат вывода**\n","YES — если РІСЃРµ слова начинаются СЃ нужной Р±СѓРєРІС‹.<br>NO — если хотя Р±С‹ РѕРґРЅРѕ слово начинается РЅРµ СЃ нужной Р±СѓРєРІС‹.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>арбуз<br>барабан<br>РІРѕСЂРѕРЅР°|YES<br> <br> <br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|4<br>аист<br>вареник<br>кузнечик<br>алыча|NO<br> <br> <br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["f = True\n","for i in range(int(input())):\n"," s = input().lower()[0]\n"," for sym in \"абв\":\n"," if sym == s:\n"," f = True\n"," break\n"," else:\n"," f = False\n"," if not f:\n"," break\n","\n","if f:\n"," print(\"YES\")\n","else:\n"," print(\"NO\")"]},{"cell_type":"markdown","metadata":{},"source":["## **Кручу-верчу**\n","Очень часто РІ текстовых редакторах требуется траспонировать (повернуть) текст.<br>Рљ сожалению, РІ Python такая функция РїРѕ-умолчанию отсутствует. Давайте создадим программу, которая преобразует введённую стоку РёР· горизонтальной записи РІ вертикальную.\n","### **Формат РІРІРѕРґР°**\n","РћРґРЅР° строка.\n","### **Формат вывода**\n","Вертикальное представление введённой строки.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|Привет<br> <br> <br> <br> <br> <br>|Рџ<br>СЂ<br>Рё<br>РІ<br>Рµ<br>С‚<br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|Питон<br> <br> <br> <br> <br>|Рџ<br>Рё<br>С‚<br>Рѕ<br>РЅ<br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["s = input()\n","for i in s:\n"," print(i)"]},{"cell_type":"markdown","metadata":{},"source":["## **РђРЅРѕРЅСЃ новости**\n","Местная новостная компания заказала сайт. Его неотъемлемая часть — новостная лента.<br>Чтобы пользователи могли быстрее анализировать статьи, нужно сократить заголовки. Напишите программу, которая сокращает длинные заголовки РґРѕ требуемой длины Рё завершает РёС… многоточием ... РїСЂРё необходимости.\n","### **Формат РІРІРѕРґР°**\n","Вводится натуральное число $L$ — необходимая длина заголовка.<br>Вводится натуральное число $N$ — количество заголовков, которые требуется сократить.<br>Р’ каждой РёР· последующих $N$ строк записано РїРѕ РѕРґРЅРѕРјСѓ заголовку.\n","### **Формат вывода**\n","Сокращённые заголовки.\n","### **Примечание**\n","Многоточие учитывается РїСЂРё подсчёте длины заголовка.\n","### **Пример**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|25<br>3<br>Начался саммит РїРѕ глобальному потеплению<br>Завтра Новый РіРѕРґ!<br>Python Рё Java РєРѕРЅРєСѓСЂРёСЂСѓСЋС‚ Р·Р° звание самого популярного языка программирования|Начался саммит РїРѕ глоб...<br>Завтра Новый РіРѕРґ!<br>Python Рё Java РєРѕРЅРєСѓСЂРёСЂ...<br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["length, n = int(input()), int(input())\n","\n","arr = []\n","\n","for _ in range(n):\n"," arr.append(input())\n","\n","for s in arr:\n"," if len(s) > length:\n"," print(f\"{s[:(length - 3)]}...\")\n"," else:\n"," print(s)"]},{"cell_type":"markdown","metadata":{},"source":["## **Очистка данных**\n","Местный провайдер собирает большое количество логов, однако зачастую файлы СЃ отчётами РїСЂРёС…РѕРґСЏС‚ РІ негодность.<br>Самые частые проблемы — ошибки РІРёРґР° ## Рё @@@.<br>Напишите программу, которая избавляется РѕС‚:<br>\n","* Двух символов # РІ начале информационных сообщений;\n","* Строк, заканчивающихся тремя символами @.\n","\n","\n","### **Формат РІРІРѕРґР°**\n","Вводятся строки отчёта. Признаком завершения РІРІРѕРґР° считается пустая строка.\n","### **Формат вывода**\n","Очищенные данные.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|Hello, world<br>Hello, @@@<br>##Goodbye<br>|Hello, world<br>Goodbye<br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|First Message<br>##Second Message<br>@@@Third Message##<br>##Fourth Message@@@<br>|First Message<br>Second Message<br>@@@Third Message##<br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["arr = []\n","s = input()\n","while s:\n"," arr.append(s)\n"," s = input()\n","\n","for s in arr:\n"," if s[-3:] == \"@@@\":\n"," continue\n"," elif s[:2] == \"##\":\n"," print(s[2:])\n"," else:\n"," print(s)"]},{"cell_type":"markdown","metadata":{},"source":["## **Рђ СЂРѕР·Р° упала РЅР° лапу РђР·РѕСЂР° 4.0**\n","Вернёмся Рє палиндромам — числам, словам Рё предложениям, которые читаются одинаково РІ РѕР±Р° направления.<br>Напишите программу, которая определяет, относится ли введённая строка Рє палиндромам.\n","### **Формат РІРІРѕРґР°**\n","Вводится строка.\n","### **Формат вывода**\n","Требуется вывести YES — если введенная строка является палиндромом, иначе – NO.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|мама|NO|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|анна|YES|\n"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["s = input()\n","if s == s[::-1]:\n"," print(\"YES\")\n","else:\n"," print(\"NO\")"]},{"cell_type":"markdown","metadata":{},"source":["## **Зайка — 6**\n","Очередное путешествие родителей СЃ детьми, очередная РёРіСЂР° СЃ РїРѕРёСЃРєРѕРј зверушек Р·Р° РѕРєРЅРѕРј.<br>Давайте поиграем Рё найдём заек.\n","### **Формат РІРІРѕРґР°**\n","Р’ первой строке записано натуральное число $N$ — количество выделенных придорожных местностей.<br>Р’ каждой РёР· $N$ последующих строк записано описание придорожной местности.\n","### **Формат вывода**\n","Количество заек.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>березка елочка зайка волк березка<br>СЃРѕСЃРЅР° зайка СЃРѕСЃРЅР° елочка зайка медведь<br>СЃРѕСЃРЅР° СЃРѕСЃРЅР° СЃРѕСЃРЅР° белочка СЃРѕСЃРЅР° белочка|3<br> <br> <br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|4<br>зайка березка<br>березка зайка<br>березка елочка березка<br>елочка елочка елочка|2<br> <br> <br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["arr = []\n","for _ in range(int(input())):\n"," arr += input().split()\n","\n","c = 0\n","for s in arr:\n"," if s == \"зайка\":\n"," c += 1\n","\n","print(c) "]},{"cell_type":"markdown","metadata":{},"source":["## **Рђ Рё Р‘ сидели РЅР° трубе**\n","Сложение чисел весьма простая задача.<br>Рљ сожалению, пользователи РЅРµ всегда РІРІРѕРґСЏС‚ данные так, как нам СѓРґРѕР±РЅРѕ.\n","### **Формат РІРІРѕРґР°**\n","Два целых числа, разделённые пробелом.\n","### **Формат вывода**\n","РћРґРЅРѕ целое число — СЃСѓРјРјР° переданных чисел.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|2 2|4|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|-3 5|2|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["a, b = [int(i) for i in input().split()]\n","print(a + b)"]},{"cell_type":"markdown","metadata":{},"source":["## **Зайка — 7**\n","Р’РЅРѕРІСЊ поищем заек Р·Р° РѕРєРЅРѕРј поезда.\n","### **Формат РІРІРѕРґР°**\n","Р’ первой строке записано натуральное число $N$ — количество выделенных придорожных местностей.<br>Р’ каждой РёР· $N$ последующих строк записано описание придорожной местности.\n","### **Формат вывода**\n","Для каждой строки нужно найти положение первого зайки.<br>Если РІ строке нет заек, то РѕР± этом нужно непременно сообщить.\n","### **Примечание**\n","Для символов РІ строках используйте нумерацию СЃ 1.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>березка елочка зайка волк березка<br>СЃРѕСЃРЅР° зайка СЃРѕСЃРЅР° елочка зайка медведь<br>СЃРѕСЃРЅР° СЃРѕСЃРЅР° СЃРѕСЃРЅР° белочка СЃРѕСЃРЅР° белочка<br>|16<br>7<br>Заек нет =(<br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|4<br>зайка березка<br>березка зайка<br>березка елочка березка<br>елочка елочка елочка<br>|1<br>9<br>Заек нет =(<br>Заек нет =(<br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["arr = []\n","for _ in range(int(input())):\n"," arr.append(input())\n","\n","c = 0\n","for elem in arr:\n"," pos = 0\n"," for i in range(len(elem) - 4):\n"," if elem[i: i + 5] == \"зайка\":\n"," pos = i + 1\n"," break\n"," if pos:\n"," print(pos)\n"," else:\n"," print(\"Заек нет =(\")"]},{"cell_type":"markdown","metadata":{},"source":["## **Без комментариев**\n","РњС‹ надеемся, РІС‹ пишите комментарии Рє своему РєРѕРґСѓ. Если так, то интерпретатор удаляет РёС… перед тем, как выполнить РєРѕРґ. Напишите программу, которая выполняет данную функцию Р·Р° интерпретатор.\n","### **Формат РІРІРѕРґР°**\n","Вводятся строки программы.<br>Признаком остановки является пустая строка.\n","### **Формат вывода**\n","Каждую строку нужно очистить РѕС‚ комментариев.<br>Рђ если комментарий — РІСЃСЏ строка, то выводить её РЅРµ надо.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|# РњРѕСЏ первая супер-пупер программа<br>print(\"What is your name?\") # Как тебя Р·РѕРІСѓС‚?<br>name = input() # Сохраняем РёРјСЏ<br>print(f\"Hello, {name}!\") # Здороваемся# Конец моей супер-пупер программы<br>|print(\"What is your name?\")<br>name = input()<br>print(f\"Hello, {name}!\")<br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|# РњРѕР№ первый цикл<br>for i in range(10): # Считаем РґРѕ 10<br> print(i) # выводим число<br>|for i in range(10):<br> print(i)<br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["s = input()\n","arr = []\n","while s:\n"," arr.append(s)\n"," s = input()\n","\n","for s in arr:\n"," res = \"\"\n"," for i in range(len(s)):\n"," res = s\n"," if s[i] == \"#\":\n"," res = s[:i]\n"," break\n"," if res:\n"," print(res)"]},{"cell_type":"markdown","metadata":{},"source":["## **Частотный анализ РЅР° минималках**\n","Частотный анализ — подсчёт, какие символы чаще всего встречаются РІ тексте. Рто важнейший инструмент взлома РјРЅРѕРіРёС… классических шифров — РѕС‚ шифра Цезаря Рё РґРѕ шифровальной машины В«Рнигма». Выполним простой частотный анализ: выясним, какой СЃРёРјРІРѕР» встречается РІ тексте чаще всего.\n","### **Формат РІРІРѕРґР°**\n","Вводятся строки, РїРѕРєР° РЅРµ будет введена строка «ФРРќРРЁВ».\n","### **Формат вывода**\n","Выводится РѕРґРёРЅ СЃРёРјРІРѕР» РІ нижнем регистре — наиболее часто встречающийся.<br><br>Примечания<br>Пробелы РІ анализе РЅРµ участвуют.<br>Если РІ результате анализа получено несколько ответов, следует вывести первый РїРѕ алфавиту.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|Баобаб<br>Белка<br>Бобы<br>Р¤РРќРРЁ|Р±<br> <br> <br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|Финики Фокачча Зайка<br>Филин Фосфор Светофор<br>Фехтовальщик Форма<br>Р¤РРќРРЁ|С„<br> <br> <br> <br>|\n"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["string = \"\"\n","s = input()\n","while s != \"Р¤РРќРРЁ\":\n"," string += s\n"," s = input()\n","\n","string = string.lower().replace(\" \", \"\")\n","\n","d = {}\n","\n","for i in string:\n"," if i in d:\n"," d[i] += 1\n"," else:\n"," d[i] = 1\n","\n","maxl, s = 0, \"СЏ\"\n","for i in d.keys():\n"," if d[i] > maxl:\n"," maxl = d[i] \n"," s = i\n"," elif d[i] == maxl:\n"," if ord(i) < ord(s):\n"," s = i\n","\n","print(s)"]},{"cell_type":"markdown","metadata":{},"source":["## **Найдётся РІСЃС‘**\n","РџРѕРёСЃРє информации — РѕРґРЅР° РёР· основных нужд РІ современном РјРёСЂРµ.<br>Создайте программу, которая реализует маленький компонент РїРѕРёСЃРєРѕРІРѕР№ системы.\n","### **Формат РІРІРѕРґР°**\n","Вводится натуральное число $N$ — количество страниц, среди которых требуется произвести РїРѕРёСЃРє.<br>Р’ каждой РёР· последующих $N$ строк записаны заголовки страниц.<br>Р’ последней строке записан поисковый запрос.\n","### **Формат вывода**\n","Вывести РІСЃРµ заголовки страниц, РІ которых присутствует поисковый запрос (регистр РЅРµ имеет значения).<br>РџРѕСЂСЏРґРѕРє заголовков должен сохраниться.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>Яндекс выпустил задачник РїРѕ программированию<br>РќР° соревнованиях РїРѕ программированию победил любитель питона<br>Как заказать Яндекс.Такси?!<br>яндекс<br>|Яндекс выпустил задачник РїРѕ программированию<br>Как заказать Яндекс.Такси?!<br> <br> <br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|8<br>сериал шерлок смотреть онлайн<br>учебник питона<br>мемы<br>социальная сеть<br>упражнения РїРѕ питону<br>кормовые мыши для питонов<br>ответы егэ скачать бесплатно<br>компьютерные мыши<br>питон<br>|учебник питона<br>упражнения РїРѕ питону<br>кормовые мыши для питонов<br> <br> <br> <br> <br> <br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["arr = [input() for _ in range(int(input()))]\n","\n","research = input()\n","\n","for s in arr:\n"," if research.lower() in s.lower():\n"," print(s)"]},{"cell_type":"markdown","metadata":{},"source":["## **Меню питания**\n","Р’ детском саду ежедневно подают РЅРѕРІСѓСЋ кашу РЅР° завтрак.<br>Каши чередуются РІ следующем РїРѕСЂСЏРґРєРµ:<br>\n","* Манная;\n","* Гречневая;\n","* Пшённая;\n","* Овсяная;\n","* Рисовая.\n","\n","Напишите программу, которая строит расписание каш РЅР° ближайшие РґРЅРё.\n","### **Формат РІРІРѕРґР°**\n","Вводится натуральное число $N$ — количество дней.\n","### **Формат вывода**\n","Вывести СЃРїРёСЃРѕРє каш РІ РїРѕСЂСЏРґРєРµ подачи.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br> <br> <br>|Манная<br>Гречневая<br>Пшённая<br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|12<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>|Манная<br>Гречневая<br>Пшённая<br>Овсяная<br>Рисовая<br>Манная<br>Гречневая<br>Пшённая<br>Овсяная<br>Рисовая<br>Манная<br>Гречневая<br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["arr = [\"Манная\", \"Гречневая\", \"Пшённая\", \"Овсяная\", \"Рисовая\"]\n","\n","n = int(input())\n","for i in range(n):\n"," print(arr[i % 5])"]},{"cell_type":"markdown","metadata":{},"source":["## **Массовое возведение РІ степень**\n","Часто возникают трудности, РєРѕРіРґР° нужно выполнить множество однообразных операций. Р’ таких случаях люди желают упростить себе работу. Напишите программу, которая РІРѕР·РІРѕРґРёС‚ РІ заданную степень РІСЃРµ числа, что передали пользователи.\n","### **Формат РІРІРѕРґР°**\n","Вводится натуральное число $N$ — количество чисел.<br>Р’ каждой РёР· последующих $N$ строк записано РїРѕ РѕРґРЅРѕРјСѓ числу.<br>Р’ последней строке записано натуральное число $P$ — степень, РІ которую требуется возвести числа.\n","### **Формат вывода**\n","Последовательность чисел, являющихся ответом.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>2<br>3<br>4<br>3<br>|8<br>27<br>64<br> <br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|5<br>222222<br>22222<br>2222<br>222<br>22<br>2<br>|49382617284<br>493817284<br>4937284<br>49284<br>484<br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["arr = [int(input()) for _ in range(int(input()))]\n","\n","p = int(input())\n","\n","for i in arr:\n"," print(i**p)"]},{"cell_type":"markdown","metadata":{},"source":["## **Массовое возведение РІ степень 2.0**\n","Продолжим упрощать себе работу, РјРёРЅСѓСЏ множество одинаковых операций.<br>Создадим РЅРѕРІСѓСЋ программу, которая РІРѕР·РІРѕРґРёС‚ РІ заданную степень РІСЃРµ числа, переданные пользователем.\n","### **Формат РІРІРѕРґР°**\n","Р’ первой строке записана последовательность натуральных чисел, разделённых пробелами.<br>Р’Рѕ второй строке записано натуральное число $P$ — степень, РІ которую требуется возвести числа.\n","### **Формат вывода**\n","Последовательность чисел, являющихся ответом.<br>Числа вывести РІ РѕРґРЅСѓ строку через пробел.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|2 3 4<br>3|8 27 64<br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|222222 22222 2222 222 22<br>2|49382617284 493817284 4937284 49284 484<br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["arr = [int(i) for i in input().split()]\n","p = int(input())\n","for i in arr:\n"," print(i ** p, end=\" \")"]},{"cell_type":"markdown","metadata":{},"source":["## **РќРћР” 3.0**\n","Местному РќРР РІ очередной раз нужно находить наибольший общий делитель (РќРћР”) нескольких чисел.<br>Руководство института вернулось СЃ этой задачей Рє нам.\n","### **Формат РІРІРѕРґР°**\n","Р’ единственной строке записывается последовательность натуральных чисел, разделённых пробелами.\n","### **Формат вывода**\n","Требуется вывести РѕРґРЅРѕ натуральное число — РќРћР” всех данных чисел.\n","### **Примечание**\n","Самый распространенный СЃРїРѕСЃРѕР± РїРѕРёСЃРєР° РќРћР” — Алгоритм Рвклида.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|12 42|6|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|102 39 768|3|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["arr = [int(i) for i in input().split()]\n","\n","nod = 0\n","for i in range(len(arr) - 1):\n"," a, b = arr[i], arr[i + 1]\n"," while a != b:\n"," if a > b:\n"," a -= b\n"," else:\n"," b -= a\n"," arr[i + 1] = a\n","\n","print(arr[-1])"]},{"cell_type":"markdown","metadata":{},"source":["## **РђРЅРѕРЅСЃ новости 2.0**\n","Попробуем ещё раз сократить заголовки для статей РІ ленте новостного сайта. Давайте сделаем программу, которая сокращает длинный заголовок РґРѕ требуемой длины Рё завершает его многоточием ..., если это требуется.\n","### **Формат РІРІРѕРґР°**\n","Вводится натуральное число $L$ — необходимая длина заголовка.<br>Вводится натуральное число $N$ — количество строк РІ заголовке новости.<br>Р’ каждой РёР· последующих $N$ строк записано РїРѕ РѕРґРЅРѕР№ строке заголовка.\n","### **Формат вывода**\n","Сокращённый заголовок.\n","### **Примечание**\n","Многоточие учитывается РїСЂРё подсчёте длины заголовка.<br>РЎРёРјРІРѕР» перевода строки РїСЂРё подсчёте длины РЅРµ учитывается.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|144<br>5<br>Рнтузиаст написал программу для управления громкостью СЃ помощью жестов, чтоб РЅРµ вставать СЃ дивана<br>Благодаря ей РѕРЅ может регулировать громкость,<br>показывая расстояние между большим Рё указательным пальцами.<br>Для этого ему понадобилась веб-камера, знания Python Рё<br>библиотека для работы СЃ компьютерным зрением.|Рнтузиаст написал программу для управления громкостью СЃ помощью жестов, чтоб РЅРµ вставать СЃ дивана<br>Благодаря ей РѕРЅ может регулировать громкость...<br> <br> <br> <br> <br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|121<br>5<br>Рнтузиаст написал программу для управления громкостью СЃ помощью жестов, чтоб РЅРµ вставать СЃ дивана<br>Благодаря ей РѕРЅ может регулировать громкость,<br>показывая расстояние между большим Рё указательным пальцами.<br>Для этого ему понадобилась веб-камера, знания Python Рё<br>библиотека для работы СЃ компьютерным зрением.|Рнтузиаст написал программу для управления громкостью СЃ помощью жестов, чтоб РЅРµ вставать СЃ дивана<br>Благодаря ей РѕРЅ может...<br> <br> <br> <br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["length = int(input()) - 3\n","\n","arr = [input() for _ in range(int(input()))]\n","\n","for elem in arr:\n"," if len(elem) < length:\n"," print(elem)\n"," length -= len(elem)\n"," elif len(elem) == length:\n"," print(f\"{elem}...\")\n"," break\n"," else:\n"," print(f\"{elem[:length]}...\")\n"," break"]},{"cell_type":"markdown","metadata":{},"source":["## **Рђ СЂРѕР·Р° упала РЅР° лапу РђР·РѕСЂР° 5.0**\n","Р СЃРЅРѕРІР° напишем программу, которая определяет, палиндромом перед нами или нет.\n","### **Формат РІРІРѕРґР°**\n","Вводится строка.\n","### **Формат вывода**\n","Если введённая строка относится Рє палиндрому, то вывести YES, Р° иначе — NO.\n","### **Примечание**\n","РџСЂРё проверке РЅРµ обращайте внимания РЅР° регистр Рё пробелы.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|Рђ СЂРѕР·Р° упала РЅР° лапу РђР·РѕСЂР°|YES|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|Мама мыла раму|NO|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["s = input().lower().replace(\" \", \"\")\n","\n","if s == s[::-1]:\n"," print(\"YES\")\n","else:\n"," print(\"NO\")"]},{"cell_type":"markdown","metadata":{},"source":["## **RLE**\n","RLE означает “run-length encoding”. Рто СЃРїРѕСЃРѕР± сокращённой записи последовательности чего СѓРіРѕРґРЅРѕ (РІ случае этой задачи — цифр). РџСЂРё нём для РїРѕРґСЂСЏРґ идущей РіСЂСѓРїРїС‹ одинаковых цифр (run) записываются сама эта цифра Рё длина этой РіСЂСѓРїРїС‹ (run length). Таким образом, 99999 превратится РІ 9 5 («девять пять раз») Рё так далее. RLE широко используется РІ самых разных областях. Напишите программу, которая кодирует строку цифр РІ RLE.\n","### **Формат РІРІРѕРґР°**\n","Строка цифр длиной РЅРµ меньше 1.\n","### **Формат вывода**\n","Пары: сама цифра Рё количество повторений цифры РїРѕРґСЂСЏРґ РІРѕ введённой строке, как описано РІ условии Рё показано РІ примере.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|010000100001111111110111110000000000000011111111<br> <br> <br> <br> <br> <br> <br> <br> <br> <br>|0 1<br>1 1<br>0 4<br>1 1<br>0 4<br>1 9<br>0 1<br>1 5<br>0 14<br>1 8<br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|0110000000100001000<br> <br> <br> <br> <br> <br> <br>|0 1<br>1 2<br>0 7<br>1 1<br>0 4<br>1 1<br>0 3<br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["s = input()\n","sym = s[0]\n","c = 1\n","for i in s[1:]:\n"," if sym == i:\n"," c += 1\n"," else:\n"," print(sym, c)\n"," sym = i\n"," c = 1\n","print(sym, c)"]},{"cell_type":"markdown","metadata":{},"source":["## **Польский калькулятор**\n","Напишите программу, которая РїСЂРѕРёР·РІРѕРґРёС‚ вычисление выражения, записанного РІ обратной польской нотации (РћРџРќ).<br><br>Р’ РћРџРќ нет РЅРё СЃРєРѕР±РѕРє, РЅРё приоритета операторов («умножение раньше сложения»).<br><br>Чтобы прочитать выражение, записанное РІ таком формате, нужно просматривать выражение строго последовательно. Вводимые значения последовательно добавляются РІ стек. РљРѕРіРґР° встречается СЃРёРјРІРѕР» операции, то РёР· стека извлекаются последние положенные туда значения, СЃ РЅРёРјРё проделывается эта операция Рё результат возвращается РІ стек.<br><br>Если для операции важен РїРѕСЂСЏРґРѕРє значений, СЃ которыми РѕРЅР° производится, то первым идёт число, лежавшее РІ стеке глубже. Р’ частности, если операция — вычитание, то РёР· предпоследнего числа РІ стеке вычитается последнее, Р° РЅРµ наоборот.<br><br>Рзначально стек пустой, РІ результате полного вычисления выражения РІ нём должно остаться РѕРґРЅРѕ значение — результат вычислений.<br><br>Первый пример следует читать так: РІ стек последовательно добавляются значения 7 2 3, Р° затем встречаем знак операции *. РўРѕРіРґР° значения 2 Рё 3 извлекаются, перемножаются, результат 6 кладётся обратно РІ стек. Следующий знак извлекает РёР· стека РґРІР° оставшихся РІ нём значения 7 Рё 6, вычитает РѕРґРЅРѕ РёР· РґСЂСѓРіРѕРіРѕ Рё кладёт результат СЃРЅРѕРІР° РІ стек. Выражение закончилось, РІ стеке РѕРґРЅРѕ число — 1, это Рё есть результат вычисления.\n","### **Формат РІРІРѕРґР°**\n","Вводится РѕРґРЅР° строка, содержащая разделённые пробелами целые числа Рё знаки операций +, -, *, которые вместе составляют корректное выражение РІ обратной польской нотации.\n","### **Формат вывода**\n","Выводится РѕРґРЅРѕ целое число — результат вычисления выражения.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|7 2 3 * -|1|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|10 15 - 7 *|-35|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["arr = input().split()\n","stek = []\n","for elem in arr:\n"," if elem in \"*-+\":\n"," res = eval(f\"{stek.pop(-2)} {elem} {stek.pop(-1)}\")\n"," stek.append(res) \n"," else:\n"," stek.append(int(elem))\n","\n","print(stek[0])"]},{"cell_type":"markdown","metadata":{},"source":["## **Польский калькулятор — 2**\n","Потренируемся РІ РћРџРќ дальше. Операции, которые выполняются СЃ РѕРґРЅРёРј значением, называются унарными, СЃ РґРІСѓРјСЏ — бинарными, СЃ тремя — тернарными. Давайте улучшим наш калькулятор, добавив поддержку следующих операций:<br>\n","\n","\n","* бинарные:<br>- (вычитание),<br>* (умножение),<br>/ (деление нацело; для отрицательных чисел работает РїРѕ тем же правилам, что Рё РІ Python);\n","\n","* унарные:<br>! (факториал),<br># (клонирование — вернуть РІ стек значение дважды);\n","\n","* тернарные:<br>@ (возвращает РІ стек те же три значения, РЅРѕ РІ РёРЅРѕРј РїРѕСЂСЏРґРєРµ: второе, третье, первое).\n","### **Формат РІРІРѕРґР°**\n","Вводится РѕРґРЅР° строка, содержащая разделённые пробелами целые числа Рё знаки операций. Вместе РѕРЅРё составляют корректное выражение РІ обратной польской нотации, РЅРµ содержащее деления РЅР° ноль Рё взятия факториала РѕС‚ отрицательного числа.\n","### **Формат вывода**\n","Выводится РѕРґРЅРѕ целое число — результат вычисления выражения.\n","### **Примечание**\n","Р’ первом примере стек РїРѕ мере прочтения строки выглядит так:\n","* 7 1\n","* 7 1 10\n","* 7 1 10 100\n","* 7 1 10 100 100\n","* 7 1 10 10000\n","* 7 10 10000 1\n","* 7 10 9999\n","* 7 10009\n","* 10016\n","* -10016\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|7 1 10 100 # * @ - + + ~|-10016|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|10 15 - 7 *|-35|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["arr = input().split()\n","stek = []\n","for elem in arr:\n"," if elem in \"*-+\":\n"," res = eval(f\"{stek.pop(-2)} {elem} {stek.pop(-1)}\")\n"," stek.append(res)\n"," \n"," elif elem == \"/\":\n"," res = eval(f\"{stek.pop(-2)} // {stek.pop(-1)}\")\n"," stek.append(res)\n"," \n"," elif elem == \"~\":\n"," res = stek.pop(-1) * (-1)\n"," stek.append(res)\n"," \n"," elif elem == \"#\":\n"," stek.append(stek[-1])\n"," \n"," elif elem == \"!\":\n"," res = stek.pop(-1)\n"," prod = 1\n"," while res:\n"," prod *= res\n"," res -= 1\n"," stek.append(prod)\n"," \n"," elif elem == \"@\":\n"," a, b, c = stek.pop(-3), stek.pop(-2), stek.pop(-1)\n"," stek += [b, c, a] \n"," \n"," else:\n"," stek.append(int(elem))\n","\n","print(stek[0])"]}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.11.1"}},"nbformat":4,"nbformat_minor":2} diff --git a/3.1/4.py b/3.1/4.py deleted file mode 100644 index 707d8a3..0000000 --- a/3.1/4.py +++ /dev/null @@ -1,13 +0,0 @@ -arr = [] -s = input() -while s: - arr.append(s) - s = input() - -for s in arr: - if s[-3:] == "@@@": - continue - elif s[:2] == "##": - print(s[2:]) - else: - print(s) \ No newline at end of file diff --git a/3.1/5.py b/3.1/5.py deleted file mode 100644 index b26d5fb..0000000 --- a/3.1/5.py +++ /dev/null @@ -1,5 +0,0 @@ -s = input() -if s == s[::-1]: - print("YES") -else: - print("NO") \ No newline at end of file diff --git a/3.1/6.py b/3.1/6.py deleted file mode 100644 index 8fe7f05..0000000 --- a/3.1/6.py +++ /dev/null @@ -1,10 +0,0 @@ -arr = [] -for _ in range(int(input())): - arr += input().split() - -c = 0 -for s in arr: - if s == "зайка": - c += 1 - -print(c) \ No newline at end of file diff --git a/3.1/7.py b/3.1/7.py deleted file mode 100644 index 4818ea2..0000000 --- a/3.1/7.py +++ /dev/null @@ -1,2 +0,0 @@ -a, b = [int(i) for i in input().split()] -print(a + b) \ No newline at end of file diff --git a/3.1/8.py b/3.1/8.py deleted file mode 100644 index adfa635..0000000 --- a/3.1/8.py +++ /dev/null @@ -1,15 +0,0 @@ -arr = [] -for _ in range(int(input())): - arr.append(input()) - -c = 0 -for elem in arr: - pos = 0 - for i in range(len(elem) - 4): - if elem[i: i + 5] == "зайка": - pos = i + 1 - break - if pos: - print(pos) - else: - print("Заек нет =(") \ No newline at end of file diff --git a/3.1/9.py b/3.1/9.py deleted file mode 100644 index 1e4f185..0000000 --- a/3.1/9.py +++ /dev/null @@ -1,15 +0,0 @@ -s = input() -arr = [] -while s: - arr.append(s) - s = input() - -for s in arr: - res = "" - for i in range(len(s)): - res = s - if s[i] == "#": - res = s[:i] - break - if res: - print(res) \ No newline at end of file diff --git a/3.2/1.py b/3.2/1.py deleted file mode 100644 index 65bc083..0000000 --- a/3.2/1.py +++ /dev/null @@ -1,2 +0,0 @@ -s = set(input()) -print(*s, sep="") \ No newline at end of file diff --git a/3.2/10.py b/3.2/10.py deleted file mode 100644 index e575c53..0000000 --- a/3.2/10.py +++ /dev/null @@ -1,76 +0,0 @@ -d = { - 'Рђ': 'A', - 'Р°': 'a', - 'Р‘': 'B', - 'Р±': 'b', - 'Р’': 'V', - 'РІ': 'v', - 'Р“': 'G', - 'Рі': 'g', - 'Р”': 'D', - 'Рґ': 'd', - 'Р•': 'E', - 'Рµ': 'e', - 'РЃ': 'E', - 'С‘': 'e', - 'Р–': 'Zh', - 'Р¶': 'zh', - 'Р—': 'Z', - 'Р·': 'z', - 'Р': 'I', - 'Рё': 'i', - 'Р™': 'I', - 'Р№': 'i', - 'Рљ': 'K', - 'Рє': 'k', - 'Р›': 'L', - 'Р»': 'l', - 'Рњ': 'M', - 'Рј': 'm', - 'Рќ': 'N', - 'РЅ': 'n', - 'Рћ': 'O', - 'Рѕ': 'o', - 'Рџ': 'P', - 'Рї': 'p', - 'Р ': 'R', - 'СЂ': 'r', - 'РЎ': 'S', - 'СЃ': 's', - 'Рў': 'T', - 'С‚': 't', - 'РЈ': 'U', - 'Сѓ': 'u', - 'Р¤': 'F', - 'С„': 'f', - 'РҐ': 'Kh', - 'С…': 'kh', - 'Р¦': 'Tc', - 'С†': 'tc', - 'Р§': 'Ch', - 'С‡': 'ch', - 'РЁ': 'Sh', - 'С€': 'sh', - 'Р©': 'Shch', - 'С‰': 'shch', - 'Р«': 'Y', - 'С‹': 'y', - 'Р': 'E', - 'СЌ': 'e', - 'Р®': 'Iu', - 'СЋ': 'iu', - 'РЇ': 'Ia', - 'СЏ': 'ia' -} - -s = input() -new_s = "" -for i in s: - if i in d.keys(): - new_s += d[i] - elif i.lower() in ["СЊ", "СЉ"]: - continue - else: - new_s += i - -print(new_s) \ No newline at end of file diff --git a/3.2/11.py b/3.2/11.py deleted file mode 100644 index 21ce654..0000000 --- a/3.2/11.py +++ /dev/null @@ -1,11 +0,0 @@ -d = {} -for _ in range(int(input())): - f = input() - d[f] = 1 + d.get(f, 0) - -c = 0 -for f in d.keys(): - if d[f] - 1: - c += d[f] - -print(c) \ No newline at end of file diff --git a/3.2/12.py b/3.2/12.py deleted file mode 100644 index 6a5c819..0000000 --- a/3.2/12.py +++ /dev/null @@ -1,13 +0,0 @@ -d = {} -for _ in range(int(input())): - f = input() - d[f] = 1 + d.get(f, 0) - -c = 0 -for f in sorted(d.keys()): - if d[f] - 1: - print(f, "-", d[f]) - c += 1 - -if not c: - print("Однофамильцев нет") \ No newline at end of file diff --git a/3.2/13.py b/3.2/13.py deleted file mode 100644 index 8687e84..0000000 --- a/3.2/13.py +++ /dev/null @@ -1,12 +0,0 @@ -s = {input() for _ in range(int(input()))} - -for _ in range(int(input())): - for _ in range(int(input())): - f = input() - if f in s: - s.remove(f) - -if s: - print(*sorted(list(s)), sep="\n") -else: - print("Готовить нечего") \ No newline at end of file diff --git a/3.2/14.py b/3.2/14.py deleted file mode 100644 index 346fe6f..0000000 --- a/3.2/14.py +++ /dev/null @@ -1,22 +0,0 @@ -n = int(input()) -food_set = set() -for _ in range(n): - food_set.add(input()) - -res = [] -d = {} -m = int(input()) -for i in range(m): - dish = input() - d[dish] = set() - for j in range(int(input())): - d[dish] = d[dish] | ({input()}) - -for i in d.keys(): - if d[i] | food_set == food_set: - res.append(i) - -if res: - print(*sorted(res), sep="\n") -else: - print("Готовить нечего") \ No newline at end of file diff --git a/3.2/15.py b/3.2/15.py deleted file mode 100644 index 839ab3c..0000000 --- a/3.2/15.py +++ /dev/null @@ -1,8 +0,0 @@ -digits = [int(i) for i in input().split()] -dig_dicts = [] -for dig in digits: - b = bin(dig)[2:] - dig_dicts.append({"digits": len(b), "units": b.count("1"), "zeros": b.count("0")}) - - -print(dig_dicts) diff --git a/3.2/16.py b/3.2/16.py deleted file mode 100644 index 7d01521..0000000 --- a/3.2/16.py +++ /dev/null @@ -1,15 +0,0 @@ -s = input() -res = set() -while s: - arr = s.split() - for i in range(len(arr)): - if "зайка" == arr[i]: - if i > 0: - res.add(arr[i - 1]) - if i < len(arr) - 1: - res.add(arr[i + 1]) - - - s = input() - -print(*list(res), sep="\n") \ No newline at end of file diff --git a/3.2/17.py b/3.2/17.py deleted file mode 100644 index 52e6717..0000000 --- a/3.2/17.py +++ /dev/null @@ -1,25 +0,0 @@ -s = input().split() -people = set() -connects = {} -while s: - people.add(s[0]) - people.add(s[1]) - - connects[s[0]] = connects.get(s[0], []) + [s[1]] - connects[s[1]] = connects.get(s[1], []) + [s[0]] - s = input().split() - -for pers in sorted(list(people)): - con = [[pers, second] for second in connects[pers]] - con_new = [] - for elem in con: - if elem[-1] in connects.keys(): - for friend in connects[elem[-1]]: - if friend != pers and friend not in connects[elem[0]]: - con_new.append(elem + [friend]) - con = con_new - print(f"{pers}:", end=" ") - res = set() - for elem in con: - res.add(elem[-1]) - print(*sorted(list(res)), sep=", ") \ No newline at end of file diff --git a/3.2/18.py b/3.2/18.py deleted file mode 100644 index 904aec3..0000000 --- a/3.2/18.py +++ /dev/null @@ -1,13 +0,0 @@ -coords = set() -connects = {} -for _ in range(int(input())): - new_coord = tuple(input().split()) - coords.add(new_coord) - -for coord in coords: - for new_coord in coords: - if new_coord[0][:-1] == coord[0][:-1] and new_coord[1][:-1] == coord[1][:-1]: - connects[coord] = connects.get(coord, 0) + 1 - - -print(max(connects.values())) \ No newline at end of file diff --git a/3.2/19.py b/3.2/19.py deleted file mode 100644 index 3ff2174..0000000 --- a/3.2/19.py +++ /dev/null @@ -1,14 +0,0 @@ -arr = [] -for _ in range(int(input())): - toys = input().split(", ") - toys = toys[0].split(": ") + toys[1:] - arr.append(set(toys[1:])) - -res = [] -for i in range(len(arr)): - temp = set() - for elem in arr[:i] + arr[i + 1:]: - temp = temp | elem - res += list(arr[i] - temp) - -print(*sorted(res), sep="\n") \ No newline at end of file diff --git a/3.2/2.py b/3.2/2.py deleted file mode 100644 index 1412ef4..0000000 --- a/3.2/2.py +++ /dev/null @@ -1,2 +0,0 @@ -s = set(input()) & set(input()) -print(*s, sep="") \ No newline at end of file diff --git a/3.2/20.py b/3.2/20.py deleted file mode 100644 index 702f3fe..0000000 --- a/3.2/20.py +++ /dev/null @@ -1,19 +0,0 @@ -def find_nums(a, b): - while b != 0: - a, b = b, a % b - return a == 1 - -d = {} -arr = sorted(list(set([int(i) for i in input().split("; ")]))) - -for i in range(len(arr)): - res = [] - for num in arr[:i] + arr[i + 1:]: - if find_nums(num, arr[i]): - res.append(num) - if res: - d[arr[i]] = res - -for k in d.keys(): - print(f"{k} -", end=" ") - print(*d[k], sep=", ") diff --git a/3.2/3.py b/3.2/3.py deleted file mode 100644 index d83c1cf..0000000 --- a/3.2/3.py +++ /dev/null @@ -1,6 +0,0 @@ -s = set() -for _ in range(int(input())): - for i in input().split(): - s.add(i) - -print(*s, sep="\n") \ No newline at end of file diff --git a/3.2/32.ipynb b/3.2/32.ipynb deleted file mode 100644 index fb1d4cd..0000000 --- a/3.2/32.ipynb +++ /dev/null @@ -1 +0,0 @@ -{"cells":[{"cell_type":"markdown","metadata":{},"source":["## **Символическая выжимка**\n","Р’Рѕ РјРЅРѕРіРёС… промышленных задачах требуется понимать, РёР· каких символов состоят данные. Напишите программу, чтобы РїРѕ введённой строке РѕРЅР° определяла, РёР· каких символов та состоит.\n","### **Формат РІРІРѕРґР°**\n","Вводится РѕРґРЅР° строка.\n","### **Формат вывода**\n","Требуется вывести РІСЃРµ символы этой строки без повторений.<br>РџРѕСЂСЏРґРѕРє вывода РЅРµ имеет значения.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|змееед|Р·РґРјРµ|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|велосипед|исолвдеп|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["s = set(input())\n","print(*s, sep=\"\")"]},{"cell_type":"markdown","metadata":{},"source":["## **Символическая разница**\n","Рђ ещё РІ промышленных задачах часто требуется находить общее среди данных, полученных РёР· раных источников. Напишите программу, которая РїРѕ РґРІСѓРј строкам определяет РёС… общие символы.\n","### **Формат РІРІРѕРґР°**\n","Вводится РґРІРµ строки.\n","### **Формат вывода**\n","Требуется вывести РІСЃРµ символы этой строки без повторений.<br>РџРѕСЂСЏРґРѕРє вывода РЅРµ имеет значения.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|змееед<br>велосипед|ед<br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|мама<br>папа|Р°<br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["s = set(input()) & set(input())\n","print(*s, sep=\"\")"]},{"cell_type":"markdown","metadata":{},"source":["## **Зайка — 8**\n","Продолжаем считать заек Р·Р° РѕРєРЅРѕРј поезда.\n","### **Формат РІРІРѕРґР°**\n","Р’ первой строке записано натуральное число $N$ — количество выделенных придорожных местностей.<br>Р’ каждой РёР· $N$ последующих строк записано описание придорожной местности.\n","### **Формат вывода**\n","Вывести РІСЃРµ найденные объекты РІ придорожных местностях.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>березка елочка зайка волк березка<br>СЃРѕСЃРЅР° зайка СЃРѕСЃРЅР° елочка зайка медведь<br>СЃРѕСЃРЅР° СЃРѕСЃРЅР° СЃРѕСЃРЅР° белочка СЃРѕСЃРЅР° белочка<br> <br> <br> <br>|СЃРѕСЃРЅР°<br>березка<br>волк<br>елочка<br>медведь<br>белочка<br>зайка<br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|4<br>зайка березка<br>березка зайка<br>березка елочка березка<br>елочка елочка елочка|березка<br>елочка<br>зайка<br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["s = set()\n","for _ in range(int(input())):\n"," for i in input().split():\n"," s.add(i)\n","\n","print(*s, sep=\"\\n\")"]},{"cell_type":"markdown","metadata":{},"source":["## **Кашееды**\n","Каждый воспитанник детского сада любит либо манную, либо РѕРІСЃСЏРЅСѓСЋ, либо РѕР±Рµ каши.<br>Давайте создадим программу, которая позволит воспитателю быстро выяснить, сколько детей любят РѕР±Рµ каши.\n","### **Формат РІРІРѕРґР°**\n","Р’ первых РґРІСѓС… строках указывается количество детей, любящих манную Рё РѕРІСЃСЏРЅСѓСЋ каши ($N$ Рё $M$).<br>Затем РёРґСѓС‚ $N$ строк — фамилии детей, которые любят манную кашу, Рё $M$ строк СЃ фамилиями детей, любящих РѕРІСЃСЏРЅСѓСЋ кашу.<br>Гарантируется, что РІ РіСЂСѓРїРїРµ нет однофамильцев.\n","### **Формат вывода**\n","Количество учеников, которые любят РѕР±Рµ каши.<br>Если таких РЅРµ окажется, РІ строке вывода нужно написать «Таких нет».\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>2<br>Васильев<br>Петров<br>Васечкин<br>Рванов<br>Михайлов|Таких нет<br> <br> <br> <br> <br> <br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>3<br>Рванов<br>Петров<br>Васечкин<br>Рванов<br>Петров<br>Васечкин|3<br> <br> <br> <br> <br> <br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["n, m = int(input()), int(input())\n","s = {input() for _ in range(n + m)}\n","\n","\n","sum = 2 * len(s) - m - n\n","if sum:\n"," print(sum)\n","else:\n"," print(\"Таких нет\")"]},{"cell_type":"markdown","metadata":{},"source":["## **Кашееды — 2**\n","Рзменим задачу Рё напишем программу, которая поможет быстро выяснить, сколько детей любят только РѕРґРЅСѓ кашу.\n","### **Формат РІРІРѕРґР°**\n","Р’ первых РґРІСѓС… строках указывается количество детей, любящих манную Рё РѕРІСЃСЏРЅСѓСЋ каши ($N$ Рё $M$).<br>Затем РёРґСѓС‚ $N$+$M$ строк — перемешанные фамилии детей.<br>Гарантируется, что РІ РіСЂСѓРїРїРµ нет однофамильцев.\n","### **Формат вывода**\n","Количество учеников, которые любят только РѕРґРЅСѓ кашу.<br>Если таких РЅРµ окажется, РІ строке вывода нужно написать «Таких нет».\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>2<br>Васильев<br>Петров<br>Васечкин<br>Рванов<br>Михайлов|5<br> <br> <br> <br> <br> <br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>3<br>Рванов<br>Петров<br>Васечкин<br>Рванов<br>Петров<br>Васечкин|Таких нет<br> <br> <br> <br> <br> <br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["n, m = int(input()), int(input())\n","s = {input() for _ in range(n + m)}\n","\n","\n","sum = 2 * len(s) - m - n\n","if sum:\n"," print(sum)\n","else:\n"," print(\"Таких нет\")"]},{"cell_type":"markdown","metadata":{},"source":["## **Кашееды — 3**\n","Вернёмся Рє условию, РєРѕРіРґР° каждый воспитанник детского сада любит либо манную, либо РѕРІСЃСЏРЅСѓСЋ, либо РѕР±Рµ эти каши.<br>Напишите программу, которая позволит воспитателю узнать, какие дети любят только РѕРґРЅСѓ кашу.\n","### **Формат РІРІРѕРґР°**\n","Р’ первых РґРІСѓС… строках указывается количество детей, любящих манную Рё РѕРІСЃСЏРЅСѓСЋ каши ($N$ Рё $M$).<br>Затем РёРґСѓС‚ $N$+$M$ строк — перемешанные фамилии детей.<br>Гарантируется, что РІ РіСЂСѓРїРїРµ нет однофамильцев.\n","### **Формат вывода**\n","Р’ алфавитном РїРѕСЂСЏРґРєРµ фамилии учеников, которые любят только РѕРґРЅСѓ кашу.<br>Если таких РЅРµ окажется, РІ строке вывода нужно написать «Таких нет».\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>2<br>Васильев<br>Петров<br>Васечкин<br>Рванов<br>Михайлов|Васечкин<br>Васильев<br>Рванов<br>Михайлов<br>Петров<br> <br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>3<br>Рванов<br>Петров<br>Васечкин<br>Рванов<br>Петров<br>Васечкин|Таких нет<br> <br> <br> <br> <br> <br> <br> <br>|\n"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["\n","n, m = int(input()), int(input())\n","s = set()\n","for _ in range(n + m):\n"," i = input()\n"," if i in s:\n"," s.remove(i)\n"," else:\n"," s.add(i)\n","\n","if s:\n"," s = sorted(list(s))\n"," print(*s, sep=\"\\n\")\n","else:\n"," print(\"Таких нет\")"]},{"cell_type":"markdown","metadata":{},"source":["## **РђР·Р±СѓРєР° РњРѕСЂР·Рµ**\n","Вам дан английский текст. Закодируйте его СЃ помощью азбуки РњРѕСЂР·Рµ Каждая Р±СѓРєРІР° заменяется РЅР° последовательность точек Рё тире. Р’ качестве тире используйте обычный дефис: -, Р° РІ качестве точки — точку .. Например, Р±СѓРєРІР° g превратится РІ трёхсимвольную строку --.. Между закодированными буквами ставится СЂРѕРІРЅРѕ РѕРґРёРЅ пробел. Например, слово Help превратится РІ .... . .-.. .--.. Обратите внимание, что строчные Рё заглавные Р±СѓРєРІС‹ кодируются одинаково.\n","### **Формат РІРІРѕРґР°**\n","Весь текст записан РІ единственной строке. Текст состоит РёР· английских Р±СѓРєРІ Рё пробелов, РґСЂСѓРіРёС… символов РІ тексте нет. Р’ тексте РЅРµ может быть РґРІСѓС… или более пробелов РїРѕРґСЂСЏРґ.\n","### **Формат вывода**\n","Выведите каждое слово РёСЃС…РѕРґРЅРѕРіРѕ текста, закодированное азбукой РњРѕСЂР·Рµ, РЅР° отдельной строке.<br>Количество строк РІ ответе должно совпадать СЃ количеством слов РІ РёСЃС…РѕРґРЅРѕРј тексте.\n","### **Примечание**\n","РћРґРёРЅ РёР· вариантов словаря СЃ РђР·Р±СѓРєРѕР№ РњРѕСЂР·Рµ:<br>\n"," 'A': '.-', 'B': '-...', 'C': '-.-.',<br> 'D': '-..', 'E': '.', 'F': '..-.',<br> 'G': '--.', 'H': '....', 'I': '..',<br> 'J': '.---', 'K': '-.-', 'L': '.-..',<br> 'M': '--', 'N': '-.', 'O': '---',<br> 'P': '.--.', 'Q': '--.-', 'R': '.-.',<br> 'S': '...', 'T': '-', 'U': '..-',<br> 'V': '...-', 'W': '.--', 'X': '-..-',<br> 'Y': '-.--', 'Z': '--..',<br> '0': '-----', '1': '.----', '2': '..---',<br> '3': '...--', '4': '....-', '5': '.....',<br> '6': '-....', '7': '--...', '8': '---..',<br> '9': '----.'\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|Hello world<br> <br>|.... . .-.. .-.. ---<br>.-- --- .-. .-.. -..<br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|Help me SOS<br> <br> <br>|.... . .-.. .--.<br>-- .<br>... --- ...<br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["morz = {\n"," 'A': '.-', 'B': '-...', 'C': '-.-.',\n"," 'D': '-..', 'E': '.', 'F': '..-.',\n"," 'G': '--.', 'H': '....', 'I': '..',\n"," 'J': '.---', 'K': '-.-', 'L': '.-..',\n"," 'M': '--', 'N': '-.', 'O': '---',\n"," 'P': '.--.', 'Q': '--.-', 'R': '.-.',\n"," 'S': '...', 'T': '-', 'U': '..-',\n"," 'V': '...-', 'W': '.--', 'X': '-..-',\n"," 'Y': '-.--', 'Z': '--..',\n"," '0': '-----', '1': '.----', '2': '..---',\n"," '3': '...--', '4': '....-', '5': '.....',\n"," '6': '-....', '7': '--...', '8': '---..',\n"," '9': '----.'\n","}\n","\n","arr = []\n","for s in input().split():\n"," word = []\n"," for i in s:\n"," word.append(morz[i.upper()])\n"," arr.append(\" \".join(word))\n","\n","print(*arr, sep=\"\\n\")"]},{"cell_type":"markdown","metadata":{},"source":["## **Кашееды — 4**\n","Каждый воспитанник детского сада любит РѕРґРЅСѓ или несколько каш.<br>Поможем воспитателю составить СЃРїРёСЃРѕРє детей, которые любят конкретную кашу.\n","### **Формат РІРІРѕРґР°**\n","Р’ первой строке задаётся количество детей РІ РіСЂСѓРїРїРµ ($N$). Р’ следующих $N$ строках записана фамилия ребенка Рё СЃРїРёСЃРѕРє его любимых каш. Р’ последней строке записана каша, информацию Рѕ которой хочет получить воспитатель.\n","### **Формат вывода**\n","Фамилии учеников, которые любят заданную кашу, РІ алфавитном РїРѕСЂСЏРґРєРµ.<br>Если таких РЅРµ окажется, РІ строке вывода нужно написать «Таких нет».\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|5<br>Васильев манная<br>Петров манная<br>Васечкин манная<br>Рванов овсяная<br>Михайлов овсяная<br>манная|Васечкин<br>Васильев<br>Петров<br> <br> <br> <br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>Рванов манная овсяная<br>Петров манная овсяная<br>Васечкин манная овсяная<br>гречневая|Таких нет<br> <br> <br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["d = {}\n","\n","for _ in range(int(input())):\n"," data = input().split()\n"," for i in data[1:]:\n"," if i in d.keys():\n"," d[i].append(data[0])\n"," else:\n"," d[i] = [data[0]]\n","\n","m = input()\n","\n","if m in d.keys():\n"," arr = d[m]\n"," print(*sorted(arr), sep=\"\\n\")\n","else:\n"," print(\"Таких нет\")"]},{"cell_type":"markdown","metadata":{},"source":["## **Зайка — 9**\n","Поможем детям подсчитать, сколько Р·Р° РѕРєРЅРѕРј поезда встречается животных Рё деревьев каждого РІРёРґР°.\n","### **Формат РІРІРѕРґР°**\n","Р’ каждой строке записано описание придорожной местности.<br>Конец РІРІРѕРґР° обозначается пустой строкой.\n","### **Формат вывода**\n","РЎРїРёСЃРѕРє увиденного Рё РёС… количество.<br>РџРѕСЂСЏРґРѕРє вывода РЅРµ имеет значения.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|березка елочка зайка волк березка<br>СЃРѕСЃРЅР° зайка СЃРѕСЃРЅР° елочка зайка медведь<br>СЃРѕСЃРЅР° СЃРѕСЃРЅР° СЃРѕСЃРЅР° белочка СЃРѕСЃРЅР° белочка<br> <br> <br> <br> <br> <br>|<br>березка 2<br>елочка 2<br>зайка 3<br>волк 1<br>СЃРѕСЃРЅР° 6<br>медведь 1<br>белочка 2<br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|зайка березка<br>березка зайка<br>березка елочка березка<br>елочка елочка елочка<br>|зайка 2<br>березка 4<br>елочка 4<br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["d = {}\n","\n","s = input()\n","while s:\n"," for i in s.split():\n"," if i in d.keys():\n"," d[i] += 1\n"," else:\n"," d[i] = 1\n"," \n"," s = input()\n","\n","for m in d.keys():\n"," print(m, d[m])"]},{"cell_type":"markdown","metadata":{},"source":["## **Транслитерация**\n","Для международных документов СЂСѓСЃСЃРєРёР№ текст преобразуется СЃ использованием латинского алфавита.<br>ГОСТ Р 52535.1-2006 задаёт правила транслитерации идентификационных карт.<br>Ниже приведена таблица замен:<br>\n","Рђ — A<br>Р‘ — B<br>Р’ — V<br>Р“ — G<br>Р” — D<br>Р• — E<br>РЃ — E<br>Р– — ZH<br>Р— — Z<br>Р— I<br>Р™ — I<br>Рљ — K<br>Р› — L<br>Рњ — M<br>Рќ — N<br>Рћ — O<br>Рџ — P<br>Р— R<br>РЎ — S<br>Рў — T<br>РЈ — U<br>Р¤ — F<br>РҐ — KH<br>Р¦ — TC<br>Р§ — CH<br>РЁ — SH<br>Р© — SHCH<br>Р« — Y<br>Р— E<br>Р® — IU<br>РЇ — IA<br>Давайте транслитерируем СЂСѓСЃСЃРєРёР№ текст.<br><br>Букву «ё» транслитерируйте как В«eВ», «й» как «и», Р° «ъ» Рё «ь» (Рё РёС… заглавные версии «Ъ» Рё «Ь») должны исчезнуть РёР· текста. Строчные Р±СѓРєРІС‹ заменяются РЅР° строчные, заглавные заменяются РЅР° заглавные. Если заглавная Р±СѓРєРІР° превращается РїСЂРё транслитерации РІ несколько Р±СѓРєРІ, то заглавной должна остаться только первая РёР· РЅРёС… (например, «Ц» в†’ В«TcВ»). Р’СЃРµ некириллические символы должны остаться РЅР° месте.\n","### **Формат РІРІРѕРґР°**\n","Р’ единственной строке задан СЂСѓСЃСЃРєРёР№ текст. Текст может состоять РёР· любых символов. Вам необходимо транслитерировать только СЂСѓСЃСЃРєРёРµ Р±СѓРєРІС‹, Р° остальные оставить РЅР° месте. Гарантируется, что нет слов, состоящих только РёР· Р±СѓРєРІ «ъ» Рё «ь».\n","### **Формат вывода**\n","Выведите РѕРґРЅСѓ строку — транслитерированный текст.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|Привет, РјРёСЂ!|Privet, mir!|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|РЇ РїРѕРјРЅСЋ чудное мгновенье: Передо РјРЅРѕР№ явилась ты, Как мимолетное виденье, Как гений чистой красоты.|Ia pomniu chudnoe mgnovene: Peredo mnoi iavilas ty, Kak mimoletnoe videne, Kak genii chistoi krasoty.|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["d = {\n"," 'Рђ': 'A',\n"," 'Р°': 'a',\n"," 'Р‘': 'B',\n"," 'Р±': 'b',\n"," 'Р’': 'V',\n"," 'РІ': 'v',\n"," 'Р“': 'G',\n"," 'Рі': 'g',\n"," 'Р”': 'D',\n"," 'Рґ': 'd',\n"," 'Р•': 'E',\n"," 'Рµ': 'e',\n"," 'РЃ': 'E',\n"," 'С‘': 'e',\n"," 'Р–': 'Zh',\n"," 'Р¶': 'zh',\n"," 'Р—': 'Z',\n"," 'Р·': 'z',\n"," 'Р': 'I',\n"," 'Рё': 'i',\n"," 'Р™': 'I',\n"," 'Р№': 'i',\n"," 'Рљ': 'K',\n"," 'Рє': 'k',\n"," 'Р›': 'L',\n"," 'Р»': 'l',\n"," 'Рњ': 'M',\n"," 'Рј': 'm',\n"," 'Рќ': 'N',\n"," 'РЅ': 'n',\n"," 'Рћ': 'O',\n"," 'Рѕ': 'o',\n"," 'Рџ': 'P',\n"," 'Рї': 'p',\n"," 'Р ': 'R',\n"," 'СЂ': 'r',\n"," 'РЎ': 'S',\n"," 'СЃ': 's',\n"," 'Рў': 'T',\n"," 'С‚': 't',\n"," 'РЈ': 'U',\n"," 'Сѓ': 'u',\n"," 'Р¤': 'F',\n"," 'С„': 'f',\n"," 'РҐ': 'Kh',\n"," 'С…': 'kh',\n"," 'Р¦': 'Tc',\n"," 'С†': 'tc',\n"," 'Р§': 'Ch',\n"," 'С‡': 'ch',\n"," 'РЁ': 'Sh',\n"," 'С€': 'sh',\n"," 'Р©': 'Shch',\n"," 'С‰': 'shch',\n"," 'Р«': 'Y',\n"," 'С‹': 'y',\n"," 'Р': 'E',\n"," 'СЌ': 'e',\n"," 'Р®': 'Iu',\n"," 'СЋ': 'iu',\n"," 'РЇ': 'Ia',\n"," 'СЏ': 'ia'\n","}\n","\n","s = input()\n","new_s = \"\"\n","for i in s: \n"," if i in d.keys():\n"," new_s += d[i]\n"," elif i.lower() in [\"СЊ\", \"СЉ\"]:\n"," continue\n"," else:\n"," new_s += i\n","\n","print(new_s)"]},{"cell_type":"markdown","metadata":{},"source":["## **Однофамильцы**\n","Начальник кадровой службы хочет выяснить, сколько мужчин-однофамильцев работает РІ организации. РЈ него есть СЃРїРёСЃРѕРє фамилий, Рё РЅР° основании этого СЃРїРёСЃРєР° нужно вычислить количество фамилий, которые совпадают СЃ РґСЂСѓРіРёРјРё.\n","### **Формат РІРІРѕРґР°**\n","Р’ первой строке указывается количество мужчин — сотрудников организации ($N$).<br>Затем РёРґСѓС‚ $N$ строк СЃ фамилиями этих сотрудников РІ произвольном РїРѕСЂСЏРґРєРµ.\n","### **Формат вывода**\n","Количество однофамильцев РІ организации.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|6<br>Рванов<br>Петров<br>РЎРёРґРѕСЂРѕРІ<br>Петров<br>Рванов<br>Петров|5<br> <br> <br> <br> <br> <br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>Рванов<br>Петров<br>РЎРёРґРѕСЂРѕРІ|0<br> <br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["d = {}\n","for _ in range(int(input())):\n"," f = input()\n"," d[f] = 1 + d.get(f, 0)\n","\n","c = 0\n","for f in d.keys():\n"," if d[f] - 1:\n"," c += d[f]\n","\n","print(c)"]},{"cell_type":"markdown","metadata":{},"source":["## **Однофамильцы — 2**\n","Р’РЅРѕРІСЊ поможем сотруднику РёР· отдела кадров выяснить, сколько мужчин-однофамильцев работает РІ организации, РЅРѕ уже немного СЃ иными условиями.\n","### **Формат РІРІРѕРґР°**\n","Р’ первой строке указывается количество мужчин — сотрудников организации ($N$).<br>Затем РёРґСѓС‚ $N$ строк СЃ фамилиями этих сотрудников РІ произвольном РїРѕСЂСЏРґРєРµ.\n","### **Формат вывода**\n","РЎРїРёСЃРѕРє однофамильцев РІ организации СЃ указанием РёС… количества РІ алфавитном РїРѕСЂСЏРґРєРµ.<br>Если таковых нет — вывести «Однофамильцев нет».\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|6<br>Рванов<br>Петров<br>РЎРёРґРѕСЂРѕРІ<br>Петров<br>Рванов<br>Петров|Рванов - 2<br>Петров - 3<br> <br> <br> <br> <br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>Рванов<br>Петров<br>РЎРёРґРѕСЂРѕРІ|Однофамильцев нет<br> <br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["d = {}\n","for _ in range(int(input())):\n"," f = input()\n"," d[f] = 1 + d.get(f, 0)\n","\n","c = 0\n","for f in sorted(d.keys()):\n"," if d[f] - 1:\n"," print(f, \"-\", d[f])\n"," c += 1\n","\n","if not c:\n"," print(\"Однофамильцев нет\")"]},{"cell_type":"markdown","metadata":{},"source":["## **Дайте чего-РЅРёР±СѓРґСЊ новенького!**\n","Главный повар детского сада хочет приготовить РІ праздничный день блюда, которые РЅРё разу РЅРµ готовил РЅР° этой неделе.<br>Р’ его распоряжении есть СЃРїРёСЃРѕРє блюд:<br>\n","* которые можно приготовить РІ столовой сегодня;\n","* которые были приготовлены РІ каждый РёР· дней недели.\n","\n","\n","### **Формат РІРІРѕРґР°**\n","Число блюд ($N$), которые можно приготовить РІ столовой.<br>$N$ строк СЃ названиями блюд. Число дней ($M$), Рѕ которых имеется информация.<br>$M$ блоков строк для каждого РёР· СЃРїРёСЃРєРѕРІ. Р’ первой строке каждого блока записано число блюд РІ заданный день, затем перечисляются эти блюда.\n","### **Формат вывода**\n","РЎРїРёСЃРѕРє блюд, которые ещё РЅРµ готовились РЅР° этой неделе РІ алфавитном РїРѕСЂСЏРґРєРµ.<br>Если РІСЃРµ возможные блюда уже были приготовлены, следует вывести «Готовить нечего».\n","### **Пример**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|5<br>РћРІСЃСЏРЅРєР°<br>Р РёСЃ<br>РЎСѓРї<br>Манная каша<br>Рыба<br>2<br>3<br>Р РёСЃ<br>РЎСѓРї<br>Рыба<br>2<br>Р РёСЃ<br>Рыба|Манная каша<br>РћРІСЃСЏРЅРєР°<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["s = {input() for _ in range(int(input()))}\n","\n","for _ in range(int(input())):\n"," for _ in range(int(input())):\n"," f = input()\n"," if f in s:\n"," s.remove(f)\n","\n","if s:\n"," print(*sorted(list(s)), sep=\"\\n\")\n","else:\n"," print(\"Готовить нечего\")"]},{"cell_type":"markdown","metadata":{},"source":["## **Рто будет шедевр!**\n","Главный повар детского сада хочет быстрее выбирать блюда для готовки.<br>Р’ его распоряжении есть СЃРїРёСЃРѕРє продуктов, Р° также набор блюд.<br><br>Напишите программу, СЃРїРѕСЃРѕР±РЅСѓСЋ быстро определить блюда, которые можно приготовить.\n","### **Формат РІРІРѕРґР°**\n","Число продуктов ($N$), которые имеются РІ наличии.<br>$N$ строк СЃ названиями продуктов.<br>Число рецептов ($M$), Рѕ которых имеется информация.<br>$M$ блоков строк для каждого РёР· рецептов.<br>Р’ первой строке каждого блока записано название блюда.<br>Р’Рѕ второй — число ингредиентов.<br>Затем перечисляются сами ингредиенты, требуемые для приготовления блюда.\n","### **Формат вывода**\n","РЎРїРёСЃРѕРє блюд, которые можно приготовить РІ алфавитном РїРѕСЂСЏРґРєРµ.<br>Если РЅРё РѕРґРЅРѕ РёР· блюд нельзя приготовить, следует вывести «Готовить нечего».\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|4<br>Яблоки<br>Хлеб<br>Варенье<br>Картошка<br>3<br>Тосты<br>2<br>Хлеб<br>Варенье<br>Яблочный РЎРѕРє<br>1<br>Яблоки<br>Яичница<br>1<br>Яйца|Тосты<br>Яблочный РЎРѕРє<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|1<br>хлеб<br>1<br>бутерброд<br>2<br>масло<br>хлеб|Готовить нечего<br> <br> <br> <br> <br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["n = int(input())\n","food_set = set()\n","for _ in range(n):\n"," food_set.add(input())\n","\n","res = []\n","d = {}\n","m = int(input())\n","for i in range(m):\n"," dish = input()\n"," d[dish] = set()\n"," for j in range(int(input())):\n"," d[dish] = d[dish] | ({input()})\n","\n","for i in d.keys():\n"," if d[i] | food_set == food_set:\n"," res.append(i)\n","\n","if res:\n"," print(*sorted(res), sep=\"\\n\")\n","else:\n"," print(\"Готовить нечего\")"]},{"cell_type":"markdown","metadata":{},"source":["## **Двоичная статистика!**\n","РЈ программистов особые отношения СЃ двоичной системой счисления.<br>Продолжим тренировки РІ статистической обработке данных Рё проанализируем данные числа.<br>Напишите программу, которая для переданных чисел вычисляет:<br>\n","* количество разрядов;\n","* количество единиц;\n","* количество нулей.\n","\n","\n","### **Формат РІРІРѕРґР°**\n","Вводится последовательность чисел, записанных через пробел.\n","### **Формат вывода**\n","Вывести СЃРїРёСЃРѕРє словарей СЃ требуемой статистикой.\n","### **Примечание**\n","Вывод РІ примерах отформатирован только для визуальной наглядности.<br>Р’СЃРµ пробельные символы РїСЂРё проверке игнорируются.<br>РџРѕСЂСЏРґРѕРє словарей обязан совпадать СЃ РїРѕСЂСЏРґРєРѕРј переданных чисел.<br>РџРѕСЂСЏРґРѕРє ключей РІ словаре РЅРµ имеет значения.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|5 8 12<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>|[<br> {<br> \"digits\": 3,<br> \"units\": 2,<br> \"zeros\": 1<br> },<br> {<br> \"digits\": 4,<br> \"units\": 1,<br> \"zeros\": 3<br> },<br> {<br> \"digits\": 4,<br> \"units\": 2,<br> \"zeros\": 2<br> }<br>]<br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|13 2 7<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>|[<br> {<br> \"digits\": 4,<br> \"units\": 3,<br> \"zeros\": 1<br> },<br> {<br> \"digits\": 2,<br> \"units\": 1,<br> \"zeros\": 1<br> },<br> {<br> \"digits\": 3,<br> \"units\": 3,<br> \"zeros\": 0<br> }<br>]<br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["digits = [int(i) for i in input().split()]\n","dig_dicts = []\n","for dig in digits:\n"," b = bin(dig)[2:]\n"," dig_dicts.append({\"digits\": len(b), \"units\": b.count(\"1\"), \"zeros\": b.count(\"0\")})\n","\n","\n","print(dig_dicts)\n"]},{"cell_type":"markdown","metadata":{},"source":["## **Зайка — 10**\n","Поможем детям разобраться, что именно РѕРЅРё увидели СЂСЏРґРѕРј СЃ зайками.\n","### **Формат РІРІРѕРґР°**\n","Р’ каждой строке записано описание придорожной местности.<br>Конец РІРІРѕРґР° обозначается пустой строкой.\n","### **Формат вывода**\n","Определите СЃРїРёСЃРѕРє увиденного СЂСЏРґРѕРј СЃ зайками без повторений.<br>РџРѕСЂСЏРґРѕРє вывода РЅРµ имеет значения.\n","### **Примечание**\n","Считается, что объект находится СЂСЏРґРѕРј, если РѕРЅ записан справа или слева РѕС‚ требуемого.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|березка елочка зайка волк березка<br>СЃРѕСЃРЅР° зайка СЃРѕСЃРЅР° елочка зайка медведь<br>СЃРѕСЃРЅР° СЃРѕСЃРЅР° СЃРѕСЃРЅР° белочка СЃРѕСЃРЅР° белочка<br> <br>|волк<br>елочка<br>медведь<br>СЃРѕСЃРЅР°|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|зайка березка<br>березка зайка<br>березка елочка березка<br>елочка елочка елочка<br> <br>|березка<br> <br> <br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["s = input()\n","res = set()\n","while s:\n"," arr = s.split()\n"," for i in range(len(arr)):\n"," if \"зайка\" == arr[i]:\n"," if i > 0:\n"," res.add(arr[i - 1])\n"," if i < len(arr) - 1:\n"," res.add(arr[i + 1])\n","\n","\n"," s = input()\n","\n","print(*list(res), sep=\"\\n\")"]},{"cell_type":"markdown","metadata":{},"source":["## **Друзья друзей**\n","Теория шести рукопожатий — социологическая теория, согласно которой любые РґРІР° человека РЅР° Земле разделены РЅРµ более, чем пятью СѓСЂРѕРІРЅСЏРјРё общих знакомых (Рё, соответственно, шестью СѓСЂРѕРІРЅСЏРјРё связей). Формальная математическая формулировка теории: диаметр графа знакомств РЅРµ превышает 6. РњС‹ РЅРµ станем так сильно углубляться РІ дружественные СЃРІСЏР·Рё Рё РїРѕРєР° нам хватит только РґРІСѓС… уровней. Напишите программу, которая РїРѕ СЃРїРёСЃРєСѓ дружественных пар для каждого человека определяет СЃРїРёСЃРѕРє «друзей 2-РіРѕ СѓСЂРѕРІРЅСЏВ».\n","### **Формат РІРІРѕРґР°**\n","Р’ каждой строке записывается РґРІР° имени.<br>Окончанием РІРІРѕРґР° служит пустая строка.\n","### **Формат вывода**\n","Выведите СЃРїРёСЃРѕРє всех людей Рё РёС… «друзей 2-РіРѕ СѓСЂРѕРІРЅСЏВ» РІ формате «Человек: Друг1, Друг2, ...В».<br>РЎРїРёСЃРѕРє людей Рё друзей РІ каждой строке требуется вывести РІ алфавитном РїРѕСЂСЏРґРєРµ без повторений.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|Рванов Петров<br>Рванов Сергеев<br>Васильев Петров<br>Сергеев Яковлев<br>Петров Кириллов<br>Петров Яковлев<br> <br>|Васильев: Рванов, Кириллов, Яковлев<br>Рванов: Васильев, Кириллов, Яковлев<br>Кириллов: Васильев, Рванов, Яковлев<br>Петров: Сергеев<br>Сергеев: Петров<br>Яковлев: Васильев, Рванов, Кириллов<br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|Николай Фёдор<br>Николай Женя<br>Фёдор Женя<br>Фёдор Рлья<br>Рлья Фёдор<br> <br>|Женя: Рлья<br>Рлья: Женя, Николай<br>Николай: Рлья<br>Фёдор: <br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["s = input().split()\n","people = set()\n","connects = {}\n","while s:\n"," people.add(s[0])\n"," people.add(s[1])\n","\n"," connects[s[0]] = connects.get(s[0], []) + [s[1]]\n"," connects[s[1]] = connects.get(s[1], []) + [s[0]]\n"," s = input().split()\n","\n","for pers in sorted(list(people)):\n"," con = [[pers, second] for second in connects[pers]]\n"," con_new = []\n"," for elem in con:\n"," if elem[-1] in connects.keys():\n"," for friend in connects[elem[-1]]:\n"," if friend != pers and friend not in connects[elem[0]]:\n"," con_new.append(elem + [friend])\n"," con = con_new\n"," print(f\"{pers}:\", end=\" \")\n"," res = set()\n"," for elem in con:\n"," res.add(elem[-1])\n"," print(*sorted(list(res)), sep=\", \")"]},{"cell_type":"markdown","metadata":{},"source":["## **Карта СЃРѕРєСЂРѕРІРёС‰**\n","РќР° пиратской карте отмечено N точек, РІ которых зарыты сокровища. Каждая точка задана координатами ($x_i$, $y_i$). Координаты указаны РІ километрах. Команда Капитана РљСЂСЋРєР° хочет составить маршрут, чтобы собрать как можно больше кладов. Однако есть ограничение: для любых РґРІСѓС… соседних точек маршрута ($x_i$, $y_i$) Рё ($x_j$, $y_j$) координаты $x_i$ Рё $x_j$ РјРѕРіСѓС‚ различаться только последней цифрой, как Рё координаты $y_i$ Рё $y_j$ тоже РјРѕРіСѓС‚ различаться только последней цифрой. Например, после точки (15, 10) РѕРЅРё РјРѕРіСѓС‚ отправиться РІ точку (18, 16), Р° РІРѕС‚ РёР· точки (14, 68) РІ точку (19, 71) пройти уже РЅРµ получится, ведь 68 Рё 71 различаются РЅРµ только последней цифрой. РР· точки (5, 12) РІ точку (13, 14) попасть тоже нельзя, так как числа 5 Рё 13 отличаются РІ разряде десятков. РџРѕ заданным координатам определите, какое максимальное количество точек сможет добавить РІ СЃРІРѕР№ маршрут Капитан РљСЂСЋРє.\n","### **Формат РІРІРѕРґР°**\n","Р’ первой строке указано число $N$ ($1≤N≤10^5$) — количество точек, отмеченных РЅР° карте СЃРѕРєСЂРѕРІРёС‰. Р’ следующих N строках содержатся пары координат: $x_i$ Рё $y_i$ — координаты $i$-РѕР№ точки. Координаты — целые числа РЅРµ меньше нуля Рё РЅРµ больше $10^9$. Гарантируется, что совпадающих точек РІ СЃРїРёСЃРєРµ нет.\n","### **Формат вывода**\n","Выведите РѕРґРЅРѕ число — максимальное количество точек, которое Капитан РљСЂСЋРє сможет посетить РїРѕ маршруту, построенному РїРѕ описанным правилам.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|9<br>10 18<br>17 15<br>25 21<br>0 21<br>1 16<br>25 29<br>24 24<br>8 26<br>10 20|3<br> <br> <br> <br> <br> <br> <br> <br> <br> <br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>12 113<br>114 15<br>16 117|2<br> <br> <br> <br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["coords = set()\n","connects = {}\n","for _ in range(int(input())):\n"," new_coord = tuple(input().split())\n"," coords.add(new_coord)\n","\n","for coord in coords:\n"," for new_coord in coords:\n"," if new_coord[0][:-1] == coord[0][:-1] and new_coord[1][:-1] == coord[1][:-1]:\n"," connects[coord] = connects.get(coord, 0) + 1\n","\n","\n","print(max(connects.values()))"]},{"cell_type":"markdown","metadata":{},"source":["## **Частная собственность**\n","Ребята РїСЂРёРЅРѕСЃСЏС‚ игрушки РІ детский сад Рё играют РІСЃРµ вместе.<br>Сегодня РѕРЅРё решили выяснить, игрушки какого типа принадлежат только РѕРґРЅРѕРјСѓ РёР· детей. Напишите программу, которая РїРѕ СЃРїРёСЃРєСѓ детей Рё РёС… игрушек определит «частную собственность».\n","### **Формат РІРІРѕРґР°**\n","Р’ первой строке задается количество детей РІ РіСЂСѓРїРїРµ ($N$).<br>Р’ каждой РёР· следующих $N$ строк записано РёРјСЏ ребенка Рё его игрушки РІ формате:\n","### **Формат вывода**\n","РЎРїРёСЃРѕРє игрушек, которые есть только Сѓ РѕРґРЅРѕРіРѕ РёР· детей РІ алфавитном РїРѕСЂСЏРґРєРµ.\n","### **Пример**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|3<br>РђРЅСЏ: кукла, машинка, кукла, РґРѕРјРёРє<br>Боря: машинка, зайчик<br>Р’РѕРІР°: РєСѓР±РёРєРё, машинка|РґРѕРјРёРє<br>зайчик<br>РєСѓР±РёРєРё<br>кукла|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["arr = []\n","for _ in range(int(input())):\n"," toys = input().split(\", \")\n"," toys = toys[0].split(\": \") + toys[1:]\n"," arr.append(set(toys[1:]))\n","\n","res = []\n","for i in range(len(arr)):\n"," temp = set()\n"," for elem in arr[:i] + arr[i + 1:]:\n"," temp = temp | elem\n"," res += list(arr[i] - temp)\n","\n","print(*sorted(res), sep=\"\\n\")"]},{"cell_type":"markdown","metadata":{},"source":["## **Простая задача 4.0**\n","Напомним, что взаимно простыми называются числа, которые РЅРµ имеют общих делителей РєСЂРѕРјРµ 1. Напишите программу, которая для каждого переданного числа находит СЃРїРёСЃРѕРє его взаимно простых.\n","### **Формат РІРІРѕРґР°**\n","Задана последовательность чисел записанных через точку СЃ запятой (;) Рё пробел.\n","### **Формат вывода**\n","РЎРїРёСЃРѕРє чисел СЃ указанием взаимно простых ему среди переданных.<br>Р’СЃРµ числа должны быть выведены РІ РїРѕСЂСЏРґРєРµ возрастания без повторений.<br>Строки следует отформатировать РїРѕ правилу:<br>Если для числа РЅРµ было найдено РЅРё РѕРґРЅРѕРіРѕ взаимно простого, то Рё выводить его РЅРµ требуется.\n","### **Пример 1**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|2; 3; 4; 5; 6; 7; 8; 9; 10; 11; 12; 13; 14; 15; 16; 17; 18; 19; 20<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>|2 - 3, 5, 7, 9, 11, 13, 15, 17, 19<br>3 - 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20<br>4 - 3, 5, 7, 9, 11, 13, 15, 17, 19<br>5 - 2, 3, 4, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 18, 19<br>6 - 5, 7, 11, 13, 17, 19<br>7 - 2, 3, 4, 5, 6, 8, 9, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20<br>8 - 3, 5, 7, 9, 11, 13, 15, 17, 19<br>9 - 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, 19, 20<br>10 - 3, 7, 9, 11, 13, 17, 19<br>11 - 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 13, 14, 15, 16, 17, 18, 19, 20<br>12 - 5, 7, 11, 13, 17, 19<br>13 - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 14, 15, 16, 17, 18, 19, 20<br>14 - 3, 5, 9, 11, 13, 15, 17, 19<br>15 - 2, 4, 7, 8, 11, 13, 14, 16, 17, 19<br>16 - 3, 5, 7, 9, 11, 13, 15, 17, 19<br>17 - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20<br>18 - 5, 7, 11, 13, 17, 19<br>19 - 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20<br>20 - 3, 7, 9, 11, 13, 17, 19<br>|\n","### **Пример 2**\n","|Р’РІРѕРґ |Вывод|\n","|-----|-----|\n","|7; 2; 2; 12; 14; 7; 2; 49<br> <br> <br> <br>|2 - 7, 49<br>7 - 2, 12<br>12 - 7, 49<br>49 - 2, 12<br>|"]},{"cell_type":"code","execution_count":null,"metadata":{},"outputs":[],"source":["def find_nums(a, b):\n"," while b != 0:\n"," a, b = b, a % b\n"," return a == 1\n","\n","d = {}\n","arr = sorted(list(set([int(i) for i in input().split(\"; \")])))\n","\n","for i in range(len(arr)):\n"," res = []\n"," for num in arr[:i] + arr[i + 1:]:\n"," if find_nums(num, arr[i]):\n"," res.append(num)\n"," if res:\n"," d[arr[i]] = res\n","\n","for k in d.keys():\n"," print(f\"{k} -\", end=\" \")\n"," print(*d[k], sep=\", \")"]}],"metadata":{"kernelspec":{"display_name":"Python 3","language":"python","name":"python3"},"language_info":{"name":"python","version":"3.11.1"}},"nbformat":4,"nbformat_minor":2} diff --git a/3.2/4.py b/3.2/4.py deleted file mode 100644 index 9008f7c..0000000 --- a/3.2/4.py +++ /dev/null @@ -1,9 +0,0 @@ -n, m = int(input()), int(input()) -s = {input() for _ in range(n + m)} - - -sum = 2 * len(s) - m - n -if sum: - print(sum) -else: - print("Таких нет") \ No newline at end of file diff --git a/3.2/5.py b/3.2/5.py deleted file mode 100644 index 9008f7c..0000000 --- a/3.2/5.py +++ /dev/null @@ -1,9 +0,0 @@ -n, m = int(input()), int(input()) -s = {input() for _ in range(n + m)} - - -sum = 2 * len(s) - m - n -if sum: - print(sum) -else: - print("Таких нет") \ No newline at end of file diff --git a/3.2/6.py b/3.2/6.py deleted file mode 100644 index d223828..0000000 --- a/3.2/6.py +++ /dev/null @@ -1,15 +0,0 @@ - -n, m = int(input()), int(input()) -s = set() -for _ in range(n + m): - i = input() - if i in s: - s.remove(i) - else: - s.add(i) - -if s: - s = sorted(list(s)) - print(*s, sep="\n") -else: - print("Таких нет") \ No newline at end of file diff --git a/3.2/7.py b/3.2/7.py deleted file mode 100644 index e6dcbe9..0000000 --- a/3.2/7.py +++ /dev/null @@ -1,24 +0,0 @@ -morz = { - 'A': '.-', 'B': '-...', 'C': '-.-.', - 'D': '-..', 'E': '.', 'F': '..-.', - 'G': '--.', 'H': '....', 'I': '..', - 'J': '.---', 'K': '-.-', 'L': '.-..', - 'M': '--', 'N': '-.', 'O': '---', - 'P': '.--.', 'Q': '--.-', 'R': '.-.', - 'S': '...', 'T': '-', 'U': '..-', - 'V': '...-', 'W': '.--', 'X': '-..-', - 'Y': '-.--', 'Z': '--..', - '0': '-----', '1': '.----', '2': '..---', - '3': '...--', '4': '....-', '5': '.....', - '6': '-....', '7': '--...', '8': '---..', - '9': '----.' -} - -arr = [] -for s in input().split(): - word = [] - for i in s: - word.append(morz[i.upper()]) - arr.append(" ".join(word)) - -print(*arr, sep="\n") \ No newline at end of file diff --git a/3.2/8.py b/3.2/8.py deleted file mode 100644 index b274c88..0000000 --- a/3.2/8.py +++ /dev/null @@ -1,17 +0,0 @@ -d = {} - -for _ in range(int(input())): - data = input().split() - for i in data[1:]: - if i in d.keys(): - d[i].append(data[0]) - else: - d[i] = [data[0]] - -m = input() - -if m in d.keys(): - arr = d[m] - print(*sorted(arr), sep="\n") -else: - print("Таких нет") \ No newline at end of file diff --git a/3.2/9.py b/3.2/9.py deleted file mode 100644 index 52cf0cc..0000000 --- a/3.2/9.py +++ /dev/null @@ -1,14 +0,0 @@ -d = {} - -s = input() -while s: - for i in s.split(): - if i in d.keys(): - d[i] += 1 - else: - d[i] = 1 - - s = input() - -for m in d.keys(): - print(m, d[m]) \ No newline at end of file diff --git a/3.3/1.py b/3.3/1.py deleted file mode 100644 index 1099fd1..0000000 --- a/3.3/1.py +++ /dev/null @@ -1 +0,0 @@ -[i ** 2 for i in range(a, b)] \ No newline at end of file diff --git a/3.3/10.py b/3.3/10.py deleted file mode 100644 index 9697c86..0000000 --- a/3.3/10.py +++ /dev/null @@ -1 +0,0 @@ -"".join(["".join([rle[i][0] for j in range(rle[i][1])]) for i in range(len(rle))]) \ No newline at end of file diff --git a/3.3/2.py b/3.3/2.py deleted file mode 100644 index 1859242..0000000 --- a/3.3/2.py +++ /dev/null @@ -1 +0,0 @@ -[[(i + 1) * (j + 1) for j in range(n)] for i in range(n)] \ No newline at end of file diff --git a/3.3/3.py b/3.3/3.py deleted file mode 100644 index 5691608..0000000 --- a/3.3/3.py +++ /dev/null @@ -1 +0,0 @@ -[len(s) for s in sentence.split()] \ No newline at end of file diff --git a/3.3/33.ipynb b/3.3/33.ipynb deleted file mode 100644 index bde909d..0000000 --- a/3.3/33.ipynb +++ /dev/null @@ -1,287 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **РЎРїРёСЃРѕРє квадратов**\n", - "Большинство задач этой главы ориентированы РЅР° отработку навыков РїРѕ построению списочных выражений.<br><br>Вашему решению будет предоставлены РґРІРµ переменные a Рё b. Напишите списочное выражения для получения квадратов чисел РёР· диапазона [a,b].\n", - "### **Примечание**\n", - "Р’ решении РЅРµ должно быть ничего, РєСЂРѕРјРµ списочного выражения.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|a = 1<br>b = 5<br>|[1, 4, 9, 16, 25]<br> <br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|a = -5<br>b = 5<br>|[25, 16, 9, 4, 1, 0, 1, 4, 9, 16, 25]<br> <br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "[i ** 2 for i in range(a, b)]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Таблица умножения 2.0**\n", - "Вашему решению будет предоставлена единственная переменная n — необходимый размер таблицы умножения.<br><br>Напишите списочное выражения для генерации таблицы умножения.\n", - "### **Примечание**\n", - "Р’ решении РЅРµ должно быть ничего, РєСЂРѕРјРµ списочного выражения.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|n = 3<br>|[[1, 2, 3], [2, 4, 6], [3, 6, 9]]<br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|n = 4<br>|[[1, 2, 3, 4], [2, 4, 6, 8], [3, 6, 9, 12], [4, 8, 12, 16]]<br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "[[(i + 1) * (j + 1) for j in range(n)] for i in range(n)]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Длины всех слов**\n", - "Вашему решению будет предоставлена строка sentence слов, разделённых пробелами.<br><br>Напишите списочное выражения для генерации СЃРїРёСЃРєР° длин слов.\n", - "### **Примечание**\n", - "Р’ решении РЅРµ должно быть ничего, РєСЂРѕРјРµ списочного выражения.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|sentence = 'Мама мыла раму'<br>|[4, 4, 4]<br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|sentence = 'Ехали медведи РЅР° велосипеде'<br>|[5, 7, 2, 10]<br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "[len(s) for s in sentence.split()]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Множество нечетных чисел**\n", - "Вашему решению будет предоставлен СЃРїРёСЃРѕРє numbers, содержащий натуральные числа.<br><br>Напишите выражение для генерации множества всех нечётных чисел среди переданных.\n", - "### **Примечание**\n", - "Р’ решении РЅРµ должно быть ничего, РєСЂРѕРјРµ выражения.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|numbers = [1, 2, 3, 4, 5]<br>|{1, 3, 5}<br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|numbers = [1, 2, 3, 2, 1, 2, 3, 2, 1, 2]<br>|{1, 3}<br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "{i for i in numbers}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Множество всех полных квадратов**\n", - "Полным квадратом назовём натуральное число, которое является квадратом РґСЂСѓРіРѕРіРѕ натурального числа. Например: 1, 25, 144.<br><br>Вашему решению будет предоставлен СЃРїРёСЃРѕРє numbers, содержащий натуральные числа.<br><br>Разработайте выражение для генерации множества всех чисел, которые выступают полными квадратами.\n", - "### **Примечание**\n", - "Р’ решении РЅРµ должно быть ничего, РєСЂРѕРјРµ выражения.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|numbers = [1, 2, 3, 4, 5]<br>|{1, 4}<br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|numbers = [number for number in range(16, 100, 4)]<br>|{16, 64, 36}<br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "{n for n in numbers if n ** 0.5 % 1 == 0}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Буквенная статистика**\n", - "Вашему решению будет предоставлена строка text.<br><br>Напишите выражение для генерации словаря, который содержит информацию Рѕ частоте употребления Р±СѓРєРІ РІ заданной строке.<br><br>РџСЂРё анализе РЅРµ учитывайте регистр, Р° ключами словаря сделайте использованные РІ строке Р±СѓРєРІС‹ РІ нижнем регистре.\n", - "### **Примечание**\n", - "Р’ решении РЅРµ должно быть ничего, РєСЂРѕРјРµ выражения.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|text = 'Мама мыла раму!'<br>|{'Р°': 4, 'Р»': 1, 'Рј': 4, 'СЂ': 1, 'Сѓ': 1, 'С‹': 1}<br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|text = '''Ехали медведи<br>РќР° велосипеде.<br><br>Рђ Р·Р° РЅРёРјРё РєРѕС‚<br>Задом наперёд.'''<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>|{ 'Р°': 6,<br> 'РІ': 2,<br> 'Рґ': 5,<br> 'Рµ': 7,<br> 'Р·': 2,<br> 'Рё': 5,<br> 'Рє': 1,<br> 'Р»': 2,<br> 'Рј': 3,<br> 'РЅ': 3,<br> 'Рѕ': 3,<br> 'Рї': 2,<br> 'СЂ': 1,<br> 'СЃ': 1,<br> 'С‚': 1,<br> 'С…': 1,<br> 'С‘': 1}<br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "{let: text.lower().count(let) for let in set(text.lower()) if let.isaplha()}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Делители**\n", - "Вашему решению будет предоставлено множество numbers.<br><br>Продумайте выражение для генерации словаря содержащего информацию Рѕ делителях каждого РёР· заданных чисел.\n", - "### **Примечание**\n", - "Р’ решении РЅРµ должно быть ничего, РєСЂРѕРјРµ выражения.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|numbers = {1, 2, 3, 4, 5}<br>|{1: [1], 2: [1, 2], 3: [1, 3], 4: [1, 2, 4], 5: [1, 5]}<br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|numbers = {15, 49, 36}<br>|{15: [1, 3, 5, 15], 36: [1, 2, 3, 4, 6, 9, 12, 18, 36], 49: [1, 7, 49]}<br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "{n: [d for d in range(1, n + 1) if n % d == 0] for n in numbers}" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Аббревиатура**\n", - "Вашему решению предоставлена строка string.<br><br>Напишите выражение для генерации строки, представляющей СЃРѕР±РѕР№ аббревиатуру заданной.\n", - "### **Примечание**\n", - "Р’ решении РЅРµ должно быть ничего, РєСЂРѕРјРµ выражения.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|string = 'Российская Федерация'<br>|'Р Р¤'<br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|string = 'открытое акционерное общество'<br>|'РћРђРћ'<br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\".join([w[0] for w in string.split()]).upper()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **Преобразование РІ строку**\n", - "Вашему решению предоставлен СЃРїРёСЃРѕРє натуральных чисел numbers.<br><br>Напишите выражение для генерации строки, представляющей СЃРѕР±РѕР№ отсортированный СЃРїРёСЃРѕРє чисел, записанных через дефис, окружённый пробелами, без повторений.\n", - "### **Примечание**\n", - "Р’ решении РЅРµ должно быть ничего, РєСЂРѕРјРµ выражения.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|numbers = [3, 1, 2, 3, 2, 2, 1]<br>|'1 - 2 - 3'<br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|numbers = [1, 1, 3, 1, 10, 2, 4, 6, 7, 1, 2, 7]<br>|'1 - 2 - 3 - 4 - 6 - 7 - 10'<br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\" - \".join([str(i) for i in sorted(list(set(numbers)))])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## **RLE наоборот**\n", - "Вашему решению будет предоставлен СЃРїРёСЃРѕРє кортежей rle СЃ символами Рё количеством РёС… повторений.<br><br>Напишите выражение для генерации строки, РёР· которой был получен данный СЃРїРёСЃРѕРє.\n", - "### **Примечание**\n", - "Р’ решении РЅРµ должно быть ничего, РєСЂРѕРјРµ выражения.\n", - "### **Пример 1**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|rle = [('a', 2), ('b', 3), ('c', 1)]<br>|'aabbbc'<br>|\n", - "### **Пример 2**\n", - "|Р’РІРѕРґ |Вывод|\n", - "|-----|-----|\n", - "|rle = [('1', 1), ('0', 2), ('5', 1), ('0', 2)]<br>|'100500'<br>|" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\".join([\"\".join([rle[i][0] for j in range(rle[i][1])]) for i in range(len(rle))])" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "name": "python", - "version": "3.11.1" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/3.3/4.py b/3.3/4.py deleted file mode 100644 index 96bb92e..0000000 --- a/3.3/4.py +++ /dev/null @@ -1 +0,0 @@ -{i for i in numbers} \ No newline at end of file diff --git a/3.3/5.py b/3.3/5.py deleted file mode 100644 index 929f0f0..0000000 --- a/3.3/5.py +++ /dev/null @@ -1 +0,0 @@ -{n for n in numbers if n ** 0.5 % 1 == 0} \ No newline at end of file diff --git a/3.3/6.py b/3.3/6.py deleted file mode 100644 index b62bf9a..0000000 --- a/3.3/6.py +++ /dev/null @@ -1 +0,0 @@ -{let: text.lower().count(let) for let in set(text.lower()) if let.isaplha()} \ No newline at end of file diff --git a/3.3/7.py b/3.3/7.py deleted file mode 100644 index 538a106..0000000 --- a/3.3/7.py +++ /dev/null @@ -1 +0,0 @@ -{n: [d for d in range(1, n + 1) if n % d == 0] for n in numbers} \ No newline at end of file diff --git a/3.3/8.py b/3.3/8.py deleted file mode 100644 index 8d64dee..0000000 --- a/3.3/8.py +++ /dev/null @@ -1 +0,0 @@ -"".join([w[0] for w in string.split()]).upper() \ No newline at end of file diff --git a/3.3/9.py b/3.3/9.py deleted file mode 100644 index 495df77..0000000 --- a/3.3/9.py +++ /dev/null @@ -1 +0,0 @@ -" - ".join([str(i) for i in sorted(list(set(numbers)))]) \ No newline at end of file diff --git a/3.4/1.py b/3.4/1.py deleted file mode 100644 index d821d83..0000000 --- a/3.4/1.py +++ /dev/null @@ -1,2 +0,0 @@ -for index, value in enumerate(input().split(), 1): - print(f"{index}. {value}") \ No newline at end of file diff --git a/3.4/10.py b/3.4/10.py deleted file mode 100644 index ab9b80b..0000000 --- a/3.4/10.py +++ /dev/null @@ -1,9 +0,0 @@ -from itertools import product - -n = int(input()) - -print("Рђ Р‘ Р’") - -for a, b in product([i for i in range(1, n - 1)], repeat=2): - if a + b < n: - print(a, b, n - (a + b)) \ No newline at end of file diff --git a/3.4/11.py b/3.4/11.py deleted file mode 100644 index a826f30..0000000 --- a/3.4/11.py +++ /dev/null @@ -1,9 +0,0 @@ -n, m = int(input()), int(input()) - -numLength = len(str(n * m)) - -for i in range(1, (n * m) + 1): - if i % m == 0 and i: - print(f"{' ' * (numLength - len(str(i)))}{i}") - else: - print(f"{' ' * (numLength - len(str(i)))}{i}", end=" ") \ No newline at end of file diff --git a/3.4/12.py b/3.4/12.py deleted file mode 100644 index c307e18..0000000 --- a/3.4/12.py +++ /dev/null @@ -1,6 +0,0 @@ -from itertools import chain - -food = sorted(list(chain.from_iterable([input().split(", ") for _ in range(int(input()))]))) - -for index, fd in enumerate(food, 1): - print(f"{index}. {fd}") \ No newline at end of file diff --git a/3.4/13.py b/3.4/13.py deleted file mode 100644 index ad091f4..0000000 --- a/3.4/13.py +++ /dev/null @@ -1,4 +0,0 @@ -from itertools import permutations - -for names in permutations(sorted([input() for _ in range(int(input()))])): - print(", ".join(names)) \ No newline at end of file diff --git a/3.4/14.py b/3.4/14.py deleted file mode 100644 index 7a8e366..0000000 --- a/3.4/14.py +++ /dev/null @@ -1,4 +0,0 @@ -from itertools import permutations - -for names in permutations(sorted([input() for _ in range(int(input()))]), r=3): - print(", ".join(names)) \ No newline at end of file diff --git a/3.4/15.py b/3.4/15.py deleted file mode 100644 index 06be22b..0000000 --- a/3.4/15.py +++ /dev/null @@ -1,4 +0,0 @@ -from itertools import permutations, chain - -for a, b, c in permutations(sorted(list(chain.from_iterable([input().split(", ") for _ in range(int(input()))]))), r=3): - print(a, b, c) \ No newline at end of file diff --git a/3.4/16.py b/3.4/16.py deleted file mode 100644 index 107f10c..0000000 --- a/3.4/16.py +++ /dev/null @@ -1,17 +0,0 @@ -from itertools import product -tr = {"Р±СѓР±Рё": "бубен", "РїРёРєРё": "РїРёРє", "трефы": "треф", "черви": "червей"} -card_type, card_num = tr[input()], input() - -types = ("бубен", "РїРёРє", "треф", "червей") -nums = ("10", "2", "3", "4", "5", "6", "7", "8", "9", "валет", "дама", "король", "туз") -count = 0 -for elem in product(nums, types, repeat=3): - f = True - a, b, c = f"{elem[0]} {elem[1]}", f"{elem[2]} {elem[3]}", f"{elem[4]} {elem[5]}" - if a == b or b == c or a == c: - f = False - if f and card_type in elem and card_num not in elem: - print(a, b, c, sep=", ") - count += 1 - if count == 10: - break \ No newline at end of file diff --git a/3.4/17.py b/3.4/17.py deleted file mode 100644 index 13e2bf8..0000000 --- a/3.4/17.py +++ /dev/null @@ -1,32 +0,0 @@ -from itertools import product -tr = {"Р±СѓР±Рё": "бубен", "РїРёРєРё": "РїРёРє", "трефы": "треф", "черви": "червей"} -types = ("бубен", "РїРёРє", "треф", "червей") -nums = ("10", "2", "3", "4", "5", "6", "7", "8", "9", "валет", "дама", "король", "туз") - -card_type, card_num = tr[input()], input() -combtorem = input() - -prevcomb = "" -f = False -# arr = [] -for elem in product(nums, types, repeat=3): - a, b, c = f"{elem[0]} {elem[1]}", f"{elem[2]} {elem[3]}", f"{elem[4]} {elem[5]}" - if a == b or b == c or a == c: - continue - if card_type not in elem or card_num in elem: - continue - - comb = ", ".join([a, b, c]) - - # if len(arr) >= 10: - # arr = arr[1:] - # arr.append(comb) - - if prevcomb == combtorem: - f = True - - if f and comb.split()[-2] == combtorem.split()[-2]: - print(comb) - break - - prevcomb = comb \ No newline at end of file diff --git a/3.4/18.py b/3.4/18.py deleted file mode 100644 index 25ef2c4..0000000 --- a/3.4/18.py +++ /dev/null @@ -1,7 +0,0 @@ -from itertools import product - -state = input() -print("a b c f") -for elem in product((0, 1), repeat=3): - a, b, c = elem[0], elem[1], elem[2] - print(a, b, c, int(eval(state))) \ No newline at end of file diff --git a/3.4/19.py b/3.4/19.py deleted file mode 100644 index f7801a6..0000000 --- a/3.4/19.py +++ /dev/null @@ -1,24 +0,0 @@ -from itertools import product -alph = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" -state = input() -arr = [] -for let in alph: - if let in state: - arr.append(let) - -print(*arr, "F") - -for elem in product((0, 1), repeat=len(arr)): - m = [] - buff = arr - c = 0 - for let in alph: - if let in buff: - m.append(elem[c]) - buff = buff[1:] - c += 1 - else: - m.append(0) - - dict = {alph[i].lower(): m[i] for i in range(len(alph))} - print(*elem, int(eval(state.lower(), {}, dict))) \ No newline at end of file diff --git a/3.4/2.py b/3.4/2.py deleted file mode 100644 index 7574769..0000000 --- a/3.4/2.py +++ /dev/null @@ -1 +0,0 @@ -[print(f"{pair[0]} - {pair[1]}") for pair in zip(input().split(", "), input().split(", "))] \ No newline at end of file diff --git a/3.4/20.py b/3.4/20.py deleted file mode 100644 index a4cb0a2..0000000 --- a/3.4/20.py +++ /dev/null @@ -1,85 +0,0 @@ -from itertools import product - - -def make_brackets(eq): - - opers = ["<=", "!=", "or", "and"][::-1] - for op in opers: - if op in eq: - parts = eq.split(op) - else: - continue - for i in range(len(parts) - 1): - if parts[i][-2] in alph: - parts[i] = parts[i][:-2] + "(" + parts[i][-2:] - else: - c = 1 - for j in range(len(parts[i]) - 3, -1, -1): - if parts[i][j] == ")": - c += 1 - elif parts[i][j] == "(": - c -= 1 - if not c: - if j >= 4: - if parts[i][j - 4:j] == "not ": - parts[i] = parts[i][:j - 4] + "(" + parts[i][j - 4:] - else: - parts[i] = parts[i][:j] + "(" + parts[i][j:] - break - - if parts[i + 1][1] in alph: - parts[i + 1] = parts[i + 1][:2] + ")" + parts[i + 1][2:] - - else: - if parts[i + 1][1] == "(": - c = 1 - for j in range(2, len(parts[i + 1])): - if parts[i + 1][j] == "(": - c += 1 - elif parts[i + 1][j] == ")": - c -= 1 - if not c: - parts[i + 1] = parts[i + 1][:j] + ")" + parts[i + 1][j:] - break - - elif parts[i + 1][1] == "n": - if parts[i + 1][5] == "(": - for j in range(6, len(parts[i + 1])): - if parts[i + 1][j] == "(": - c += 1 - elif parts[i + 1][j] == ")": - c -= 1 - if not c: - parts[i + 1] = parts[i + 1][:j] + ")" + parts[i + 1][j:] - break - else: - parts[i + 1] = parts[i + 1][:6] + ")" + parts[i + 1][6:] - - eq = op.join(parts) - return eq - - -alph = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" -state = input().replace("->", "<=").replace("^", "!=").replace("~", "==") -arr = [] - -for let in alph: - if let in state: - arr.append(let) - -print(*arr, "F") - -for elem in product((0, 1), repeat=len(arr)): - m = [] - buff = arr - c = 0 - for let in alph: - if let in buff: - m.append(elem[c]) - buff = buff[1:] - c += 1 - else: - m.append(0) - - dict = {alph[i].lower(): m[i] for i in range(len(alph))} - print(*elem, int(eval(make_brackets(state).lower(), {}, dict))) \ No newline at end of file diff --git a/3.4/3.py b/3.4/3.py deleted file mode 100644 index fc6df8d..0000000 --- a/3.4/3.py +++ /dev/null @@ -1,8 +0,0 @@ -from itertools import count -st, en, sp = [float(i) for i in input().split()] - -for value in count(st, sp): - if value <= en: - print(round(value, 2)) - else: - break \ No newline at end of file diff --git a/3.4/34.ipynb b/3.4/34.ipynb deleted file mode 100644 index 9face7c..0000000 --- a/3.4/34.ipynb +++ /dev/null @@ -1 +0,0 @@ -{"cells": [{"cell_type": "markdown", "metadata": {}, "source": ["## **\u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u043f\u0438\u0441\u043a\u0430**", "\u041c\u043d\u043e\u0433\u0438\u043c \u0432\u0435\u0441\u044c\u043c\u0430 \u0447\u0430\u0441\u0442\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0432\u0435\u0441\u0442\u0438 \u0441\u043f\u0438\u0441\u043a\u0438 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432, \u0434\u0435\u043b \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435.<br><br>\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0432\u0432\u0435\u0434\u0451\u043d\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0432 \u043d\u0443\u043c\u0435\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043e\u0434\u043d\u0430 \u0441\u0442\u0440\u043e\u043a\u0430.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043d\u0443\u043c\u0435\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a, \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0438\u0437 \u0435\u0451 \u0441\u043b\u043e\u0432.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|\u043a\u0430\u0440\u0442\u0438\u043d\u0430 \u043a\u043e\u0440\u0437\u0438\u043d\u0430 \u043a\u0430\u0440\u0442\u043e\u043d\u043a\u0430<br> <br> <br>|1. \u043a\u0430\u0440\u0442\u0438\u043d\u0430<br>2. \u043a\u043e\u0440\u0437\u0438\u043d\u0430<br>3. \u043a\u0430\u0440\u0442\u043e\u043d\u043a\u0430<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|\u0410\u043d\u044f \u0411\u043e\u0440\u044f \u0412\u043e\u0432\u0430<br> <br> <br>|1. \u0410\u043d\u044f<br>2. \u0411\u043e\u0440\u044f<br>3. \u0412\u043e\u0432\u0430<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["for index, value in enumerate(input().split(), 1):", " print(f\"{index}. {value}\")"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0421\u0431\u043e\u0440\u044b \u043d\u0430 \u043f\u0440\u043e\u0433\u0443\u043b\u043a\u0443**", "\u0412\u043e\u0441\u043f\u0438\u0442\u0430\u0442\u0435\u043b\u044c \u0432 \u0434\u0435\u0442\u0441\u043a\u043e\u043c \u0441\u0430\u0434\u0443 \u0443\u0441\u0442\u0430\u043b \u0442\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0434\u0435\u0442\u0435\u0439 \u043f\u043e \u043f\u0430\u0440\u0430\u043c.<br><br>\u041e\u043d \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0441\u044f \u0441 \u0434\u0435\u0442\u044c\u043c\u0438, \u0447\u0442\u043e\u0431\u044b \u0442\u0435 \u0434\u0435\u043b\u0438\u043b\u0438\u0441\u044c \u043d\u0430 \u0434\u0432\u0435, \u043f\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0432\u043d\u044b\u0435, \u0433\u0440\u0443\u043f\u043f\u044b.<br><br>\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e \u0441\u043f\u0438\u0441\u043a\u0443 \u0434\u0432\u0443\u0445 \u0448\u0435\u0440\u0435\u043d\u0433 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u043f\u0430\u0440\u044b \u0434\u0435\u0442\u0435\u0439.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0434\u0432\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0441 \u0438\u043c\u0435\u043d\u0430\u043c\u0438 \u0434\u0435\u0442\u0435\u0439, \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u043c\u0438 \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043f\u044f\u0442\u0443\u044e \u0438 \u043f\u0440\u043e\u0431\u0435\u043b.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0422\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0430\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c, \u0435\u0441\u043b\u0438 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u0440\u0430\u0442\u044c \u0438\u0437 \u043a\u0430\u0436\u0434\u043e\u0439 \u0448\u0435\u0440\u0435\u043d\u0433\u0438 \u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0440\u0435\u0431\u0451\u043d\u043a\u0443.<br>\u0418\u043c\u0435\u043d\u0430 \u0432 \u043f\u0430\u0440\u0430\u0445 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u0434\u0435\u0444\u0438\u0441 \u043e\u043a\u0440\u0443\u0436\u0451\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u0431\u0435\u043b\u0430\u043c\u0438.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u0412 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u0433\u0440\u0443\u043f\u043f \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0430 \u043e\u0434\u043d\u043e\u0433\u043e \u0440\u0435\u0431\u0435\u043d\u043a\u0430 \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u0432 \u0434\u0440\u0443\u0433\u043e\u0439.<br>\u042d\u0442\u043e\u0442 \u0440\u0435\u0431\u0451\u043d\u043e\u043a \u043f\u0440\u0438 \u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043f\u0430\u0440 \u043d\u0435 \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u0438 \u0438\u0434\u0451\u0442 \u0432 \u043f\u0430\u0440\u0435 \u0441 \u0432\u043e\u0441\u043f\u0438\u0442\u0430\u0442\u0435\u043b\u0435\u043c.", "### **\u041f\u0440\u0438\u043c\u0435\u0440**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|\u0410\u043d\u044f, \u0412\u043e\u0432\u0430<br>\u0411\u043e\u0440\u044f, \u0414\u0438\u043c\u0430, \u0413\u0435\u043d\u0430<br>|\u0410\u043d\u044f - \u0411\u043e\u0440\u044f<br>\u0412\u043e\u0432\u0430 - \u0414\u0438\u043c\u0430<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["[print(f\"{pair[0]} - {pair[1]}\") for pair in zip(input().split(\", \"), input().split(\", \"))]"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0420\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0447\u0438\u0442\u0430\u043b\u043e\u0447\u043a\u0430**", "\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442 \u0441\u0447\u0451\u0442 \u043f\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412 \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u043a\u0443 \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0431\u0435\u043b \u0432\u0432\u043e\u0434\u044f\u0442\u0441\u044f 3 \u0440\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0445 \u0447\u0438\u0441\u043b\u0430 \u2014 \u043d\u0430\u0447\u0430\u043b\u043e \u0441\u0447\u0435\u0442\u0430, \u043a\u043e\u043d\u0435\u0446 \u0438 \u0448\u0430\u0433.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u041f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0447\u0438\u0441\u0435\u043b \u0441 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|3.2 6.4 0.8<br> <br> <br> <br> <br>|3.20<br>4.00<br>4.80<br>5.60<br>6.40<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|3.14 10 1.57<br> <br> <br> <br> <br>|3.14<br>4.71<br>6.28<br>7.85<br>9.42<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from itertools import count", "st, en, sp = [float(i) for i in input().split()]", "", "for value in count(st, sp):", " if value <= en:", " print(round(value, 2))", " else:", " break"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0421\u043b\u043e\u0432\u0430\u0440\u043d\u0430\u044f \u0451\u043b\u043a\u0430**", "\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u0441\u043b\u043e\u0432 \u0432 \u0451\u043b\u043a\u0443 \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412 \u043e\u0434\u043d\u0443 \u0441\u0442\u0440\u043e\u043a\u0443 \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u043e\u0431\u0435\u043b \u0432\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u0441\u043b\u043e\u0432\u0430 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0435 \u043f\u0440\u043e\u0431\u0435\u043b\u043e\u043c.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u041d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0440\u043e\u043a. \u0412 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u043d\u0430 \u043e\u0434\u043d\u043e \u0441\u043b\u043e\u0432\u043e \u0431\u043e\u043b\u044c\u0448\u0435.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "accumulate \u00ab\u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u00bb \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0438\u0441\u043b\u0430.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|\u043c\u0430\u043c\u0430 \u043c\u044b\u043b\u0430 \u0440\u0430\u043c\u0443<br> <br> <br>|\u043c\u0430\u043c\u0430<br>\u043c\u0430\u043c\u0430 \u043c\u044b\u043b\u0430<br>\u043c\u0430\u043c\u0430 \u043c\u044b\u043b\u0430 \u0440\u0430\u043c\u0443<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|\u043a\u0430\u0440\u0442\u0438\u043d\u0430 \u043a\u043e\u0440\u0437\u0438\u043d\u0430 \u043a\u0430\u0440\u0442\u043e\u043d\u043a\u0430<br> <br> <br>|\u043a\u0430\u0440\u0442\u0438\u043d\u0430<br>\u043a\u0430\u0440\u0442\u0438\u043d\u0430 \u043a\u043e\u0440\u0437\u0438\u043d\u0430<br>\u043a\u0430\u0440\u0442\u0438\u043d\u0430 \u043a\u043e\u0440\u0437\u0438\u043d\u0430 \u043a\u0430\u0440\u0442\u043e\u043d\u043a\u0430<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from itertools import accumulate", "", "for string in accumulate([[i] for i in input().split()]):", " print(\" \".join(string))"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0421\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u043a\u0443\u043f\u043e\u043a**", "\u041f\u043e\u0445\u043e\u0434 \u0432 \u043c\u0430\u0433\u0430\u0437\u0438\u043d \u0447\u0430\u0441\u0442\u043e \u0432\u044b\u0437\u044b\u0432\u0430\u0435\u0442 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b. \u0415\u0441\u043b\u0438 \u043d\u0435 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a, \u043c\u043e\u0436\u043d\u043e \u0443\u0439\u0442\u0438 \u0432 \u043c\u0430\u0433\u0430\u0437\u0438\u043d \u0437\u0430 \u0445\u043b\u0435\u0431\u043e\u043c, \u0430 \u0432\u0435\u0440\u043d\u0443\u0442\u044c\u0441\u044f \u0441 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u043c \u043f\u0430\u043a\u0435\u0442\u043e\u0432. \u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u043f\u043e\u0436\u0435\u043b\u0430\u043d\u0438\u044f \u0441\u0435\u043c\u044c\u0438 (\u043c\u0430\u043c\u044b, \u043f\u0430\u043f\u044b \u0438 \u0434\u043e\u0447\u043a\u0438) \u0432 \u0435\u0434\u0438\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412 \u0442\u0440\u0451\u0445 \u0441\u0442\u0440\u043e\u043a\u0430\u0445 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u0436\u0435\u043b\u0430\u0435\u043c\u044b\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u044b (\u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043f\u044f\u0442\u0443\u044e \u0438 \u043f\u0440\u043e\u0431\u0435\u043b).", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u041e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u043e \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u0443 \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u0441 \u043d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u0435\u0439.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u041f\u043e\u043c\u043d\u0438\u0442\u0435, \u0447\u0442\u043e \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0442\u044c \u043a \u0434\u0440\u0443\u0433\u0438\u043c \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u0430\u043c.", "### **\u041f\u0440\u0438\u043c\u0435\u0440**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|\u043a\u0430\u0440\u0442\u0438\u043d\u0430, \u043a\u043e\u0440\u0437\u0438\u043d\u0430, \u043a\u0430\u0440\u0442\u043e\u043d\u043a\u0430<br>\u043c\u044b\u043b\u043e, \u043c\u0430\u043d\u043a\u0430<br>\u043c\u043e\u043b\u043e\u043a\u043e, \u0445\u043b\u0435\u0431, \u0441\u044b\u0440<br> <br> <br> <br> <br> <br>|1. \u043a\u0430\u0440\u0442\u0438\u043d\u0430<br>2. \u043a\u0430\u0440\u0442\u043e\u043d\u043a\u0430<br>3. \u043a\u043e\u0440\u0437\u0438\u043d\u0430<br>4. \u043c\u0430\u043d\u043a\u0430<br>5. \u043c\u043e\u043b\u043e\u043a\u043e<br>6. \u043c\u044b\u043b\u043e<br>7. \u0441\u044b\u0440<br>8. \u0445\u043b\u0435\u0431<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from itertools import chain", "", "for index, value in enumerate(sorted(chain.from_iterable([input().split(\", \") for _ in range(3)])), 1):", " print(f\"{index}. {value}\")"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u041a\u043e\u043b\u043e\u0434\u0430 \u043a\u0430\u0440\u0442**", "\u0421\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0439\u0442\u0435 \u0438 \u0432\u044b\u0432\u0435\u0434\u0438\u0442\u0435 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u043a\u043e\u043b\u043e\u0434\u0443 \u0438\u0433\u0440\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u0430\u0440\u0442 \u0431\u0435\u0437 \u043e\u0434\u043d\u043e\u0439 \u0438\u0437 \u043c\u0430\u0441\u0442\u0435\u0439: \u0442\u0440\u0438 \u043c\u0430\u0441\u0442\u0438 \u043e\u0442 \u0434\u0432\u043e\u0439\u043a\u0438 \u0434\u043e \u0442\u0443\u0437\u0430. \u041c\u0430\u0441\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0432\u044b\u0431\u0440\u043e\u0448\u0435\u043d\u0430, \u0432\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440 product \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u0430\u0441\u0442\u0438 \u0438 \u043d\u043e\u043c\u0438\u043d\u0430\u043b\u044b.<br><br>\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u0440\u0442 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 \u00ab\u043d\u043e\u043c\u0438\u043d\u0430\u043b \u043c\u0430\u0441\u0442\u044c\u00bb. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: \u00ab2 \u043f\u0438\u043a\u00bb, \u00ab10 \u0442\u0440\u0435\u0444\u00bb, \u00ab\u0432\u0430\u043b\u0435\u0442 \u0431\u0443\u0431\u0435\u043d\u00bb, \u00ab\u0434\u0430\u043c\u0430 \u0447\u0435\u0440\u0432\u0435\u0439\u00bb.<br>\u041f\u043e\u0440\u044f\u0434\u043e\u043a \u043c\u0430\u0441\u0442\u0435\u0439 \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u041d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043c\u0430\u0441\u0442\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u0442\u044c \u0432\u044b\u0431\u0440\u043e\u0448\u0435\u043d\u0430, \u043f\u0435\u0440\u0435\u0434\u0430\u0451\u0442\u0441\u044f \u0432 \u0442\u043e\u043c \u0436\u0435 \u043f\u0430\u0434\u0435\u0436\u0435, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u043d\u0430 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u044d\u043a\u0440\u0430\u043d: \u00ab\u043f\u0438\u043a\u00bb, \u00ab\u0442\u0440\u0435\u0444\u00bb, \u00ab\u0431\u0443\u0431\u0435\u043d\u00bb \u0438 \u00ab\u0447\u0435\u0440\u0432\u0435\u0439\u00bb.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0421\u043f\u0438\u0441\u043e\u043a \u043a\u0430\u0440\u0442 \u0432 \u043a\u043e\u043b\u043e\u0434\u0435 \u043f\u043e \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044e \u043d\u043e\u043c\u0438\u043d\u0430\u043b\u0430, \u0437\u0430\u0442\u0435\u043c \u043c\u0430\u0441\u0442\u0438 (\u043a\u0430\u043a \u0432 \u043f\u0440\u0435\u0444\u0435\u0440\u0430\u043d\u0441\u0435).", "### **\u041f\u0440\u0438\u043c\u0435\u0440**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|\u0442\u0440\u0435\u0444<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>|2 \u043f\u0438\u043a<br>2 \u0431\u0443\u0431\u0435\u043d<br>2 \u0447\u0435\u0440\u0432\u0435\u0439<br>3 \u043f\u0438\u043a<br>3 \u0431\u0443\u0431\u0435\u043d<br>3 \u0447\u0435\u0440\u0432\u0435\u0439<br>4 \u043f\u0438\u043a<br>4 \u0431\u0443\u0431\u0435\u043d<br>4 \u0447\u0435\u0440\u0432\u0435\u0439<br>5 \u043f\u0438\u043a<br>5 \u0431\u0443\u0431\u0435\u043d<br>5 \u0447\u0435\u0440\u0432\u0435\u0439<br>6 \u043f\u0438\u043a<br>6 \u0431\u0443\u0431\u0435\u043d<br>6 \u0447\u0435\u0440\u0432\u0435\u0439<br>7 \u043f\u0438\u043a<br>7 \u0431\u0443\u0431\u0435\u043d<br>7 \u0447\u0435\u0440\u0432\u0435\u0439<br>8 \u043f\u0438\u043a<br>8 \u0431\u0443\u0431\u0435\u043d<br>8 \u0447\u0435\u0440\u0432\u0435\u0439<br>9 \u043f\u0438\u043a<br>9 \u0431\u0443\u0431\u0435\u043d<br>9 \u0447\u0435\u0440\u0432\u0435\u0439<br>10 \u043f\u0438\u043a<br>10 \u0431\u0443\u0431\u0435\u043d<br>10 \u0447\u0435\u0440\u0432\u0435\u0439<br>\u0432\u0430\u043b\u0435\u0442 \u043f\u0438\u043a<br>\u0432\u0430\u043b\u0435\u0442 \u0431\u0443\u0431\u0435\u043d<br>\u0432\u0430\u043b\u0435\u0442 \u0447\u0435\u0440\u0432\u0435\u0439<br>\u0434\u0430\u043c\u0430 \u043f\u0438\u043a<br>\u0434\u0430\u043c\u0430 \u0431\u0443\u0431\u0435\u043d<br>\u0434\u0430\u043c\u0430 \u0447\u0435\u0440\u0432\u0435\u0439<br>\u043a\u043e\u0440\u043e\u043b\u044c \u043f\u0438\u043a<br>\u043a\u043e\u0440\u043e\u043b\u044c \u0431\u0443\u0431\u0435\u043d<br>\u043a\u043e\u0440\u043e\u043b\u044c \u0447\u0435\u0440\u0432\u0435\u0439<br>\u0442\u0443\u0437 \u043f\u0438\u043a<br>\u0442\u0443\u0437 \u0431\u0443\u0431\u0435\u043d<br>\u0442\u0443\u0437 \u0447\u0435\u0440\u0432\u0435\u0439<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from itertools import product", "", "types = [\"\u043f\u0438\u043a\", \"\u0442\u0440\u0435\u0444\", \"\u0431\u0443\u0431\u0435\u043d\", \"\u0447\u0435\u0440\u0432\u0435\u0439\"]", "", "majors = [\"\u0432\u0430\u043b\u0435\u0442\", \"\u0434\u0430\u043c\u0430\", \"\u043a\u043e\u0440\u043e\u043b\u044c\", \"\u0442\u0443\u0437\"]", "m = types.index(input())", "", "for a, b in product([str(i) for i in range(2, 11)] + majors, types[:m] + types[m + 1:]):", " print(a, b)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0418\u0433\u0440\u043e\u0432\u0430\u044f \u0441\u0435\u0442\u043a\u0430**", "\u0420\u0435\u0431\u044f\u0442\u0430 \u0432 \u043a\u043b\u0430\u0441\u0441\u0435 \u0440\u0435\u0448\u0438\u043b\u0438 \u0443\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0447\u0435\u043c\u043f\u0438\u043e\u043d\u0430\u0442 \u043f\u043e \u0448\u0430\u0448\u043a\u0430\u043c. \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0443\u0447\u0435\u043d\u0438\u043a\u043e\u0432 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0442\u0435\u043f\u0435\u043d\u044c\u044e \u0434\u0432\u043e\u0439\u043a\u0438 \u0438 \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043a\u043b\u0430\u0441\u0441\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0442\u0443\u0440\u043d\u0438\u0440\u043d\u0443\u044e \u0441\u0435\u0442\u043a\u0443 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u043b\u043e\u0436\u043d\u043e. \u0414\u043b\u044f \u0432\u044b\u044f\u0432\u043b\u0435\u043d\u0438\u044f \u0444\u0430\u0432\u043e\u0440\u0438\u0442\u043e\u0432 \u0440\u0435\u0431\u044f\u0442\u0430 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0438\u0441\u044c \u0441\u044b\u0433\u0440\u0430\u0442\u044c \u043f\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0443 \u00ab\u043a\u0430\u0436\u0434\u044b\u0439 \u0441 \u043a\u0430\u0436\u0434\u044b\u043c\u00bb. \u041f\u0440\u043e\u0434\u0443\u043c\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u0438\u0433\u0440.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0447\u0438\u0441\u043b\u043e \u0443\u0447\u0435\u043d\u0438\u043a\u043e\u0432 ($N$).<br>\u0412 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 $N$ \u0441\u0442\u0440\u043e\u043a \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043e\u0434\u043d\u043e \u0438\u043c\u044f.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0421\u043f\u0438\u0441\u043e\u043a \u0438\u0433\u0440 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435:<br>\u041f\u043e\u0440\u044f\u0434\u043e\u043a \u0438\u0433\u0440 \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.", "### **\u041f\u0440\u0438\u043c\u0435\u0440**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|3<br>\u0410\u043d\u044f<br>\u0411\u043e\u0440\u044f<br>\u0412\u043e\u0432\u0430<br>|\u0410\u043d\u044f - \u0411\u043e\u0440\u044f<br>\u0410\u043d\u044f - \u0412\u043e\u0432\u0430<br>\u0411\u043e\u0440\u044f - \u0412\u043e\u0432\u0430<br> <br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from itertools import combinations", "", "people = [input() for _ in range(int(input()))]", "", "for a, b in combinations(people, 2):", " print(f\"{a} - {b}\")"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u041c\u0435\u043d\u044e \u043f\u0438\u0442\u0430\u043d\u0438\u044f 2.0**", "\u0412 \u0434\u0435\u0442\u0441\u043a\u043e\u043c \u0441\u0430\u0434\u0443 \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e \u043f\u043e\u0434\u0430\u044e\u0442 \u043d\u043e\u0432\u0443\u044e \u043a\u0430\u0448\u0443 \u043d\u0430 \u0437\u0430\u0432\u0442\u0440\u0430\u043a.<br><br>\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u0442\u0440\u043e\u0438\u0442 \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043a\u0430\u0448 \u043d\u0430 \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0438\u0435 \u0434\u043d\u0438.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430\u0442\u0443\u0440\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e $M$ \u2014 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u0430\u0448 \u0432 \u043c\u0435\u043d\u044e. \u0412 \u043a\u0430\u0436\u0434\u043e\u0439 \u0438\u0437 \u043f\u043e\u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 $M$ \u0441\u0442\u0440\u043e\u043a \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043e\u0434\u043d\u043e \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u043a\u0430\u0448\u0438. \u0412 \u043a\u043e\u043d\u0446\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442\u0441\u044f \u043d\u0430\u0442\u0443\u0440\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e $N$ \u2014 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043d\u0435\u0439.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0412\u044b\u0432\u0435\u0441\u0442\u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u043a\u0430\u0448 \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u043f\u043e\u0434\u0430\u0447\u0438.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u0421\u043e\u0432\u0435\u0442\u0443\u0435\u043c \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u043d\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044e itertools.islice, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u0441\u0440\u0435\u0437\u044b \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0435 \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|5<br>\u041c\u0430\u043d\u043d\u0430\u044f<br>\u0413\u0440\u0435\u0447\u043d\u0435\u0432\u0430\u044f<br>\u041f\u0448\u0451\u043d\u043d\u0430\u044f<br>\u041e\u0432\u0441\u044f\u043d\u0430\u044f<br>\u0420\u0438\u0441\u043e\u0432\u0430\u044f<br>3<br>|\u041c\u0430\u043d\u043d\u0430\u044f<br>\u0413\u0440\u0435\u0447\u043d\u0435\u0432\u0430\u044f<br>\u041f\u0448\u0451\u043d\u043d\u0430\u044f<br> <br> <br> <br> <br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|5<br>\u041c\u0430\u043d\u043d\u0430\u044f<br>\u0413\u0440\u0435\u0447\u043d\u0435\u0432\u0430\u044f<br>\u041f\u0448\u0451\u043d\u043d\u0430\u044f<br>\u041e\u0432\u0441\u044f\u043d\u0430\u044f<br>\u0420\u0438\u0441\u043e\u0432\u0430\u044f<br>12<br> <br> <br> <br> <br> <br>|\u041c\u0430\u043d\u043d\u0430\u044f<br>\u0413\u0440\u0435\u0447\u043d\u0435\u0432\u0430\u044f<br>\u041f\u0448\u0451\u043d\u043d\u0430\u044f<br>\u041e\u0432\u0441\u044f\u043d\u0430\u044f<br>\u0420\u0438\u0441\u043e\u0432\u0430\u044f<br>\u041c\u0430\u043d\u043d\u0430\u044f<br>\u0413\u0440\u0435\u0447\u043d\u0435\u0432\u0430\u044f<br>\u041f\u0448\u0451\u043d\u043d\u0430\u044f<br>\u041e\u0432\u0441\u044f\u043d\u0430\u044f<br>\u0420\u0438\u0441\u043e\u0432\u0430\u044f<br>\u041c\u0430\u043d\u043d\u0430\u044f<br>\u0413\u0440\u0435\u0447\u043d\u0435\u0432\u0430\u044f<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from itertools import cycle", "", "food = [input() for _ in range(int(input()))]", "", "daysc = int(input())", "", "count = 0", "for fd in cycle(food):", " if count < daysc:", " print(fd)", " count += 1", " else:", " break"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u044f 3.0**", "\u041c\u0435\u0441\u0442\u043d\u0430\u044f \u0444\u0430\u0431\u0440\u0438\u043a\u0430 \u043a\u0430\u043d\u0446\u0435\u043b\u044f\u0440\u0441\u043a\u0438\u0445 \u0442\u043e\u0432\u0430\u0440\u043e\u0432 \u0437\u0430\u043a\u0430\u0437\u0430\u043b\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u044b \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u044f.<br>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u043c\u043e\u0436\u0435\u043c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044e.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043e\u0434\u043d\u043e \u043d\u0430\u0442\u0443\u0440\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u2014 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0439 \u0440\u0430\u0437\u043c\u0435\u0440 \u0442\u0430\u0431\u043b\u0438\u0446\u044b.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u0443\u043c\u043d\u043e\u0436\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "itertools.product \u043e\u0442\u043b\u0438\u0447\u043d\u044b\u0439 \u0441\u043f\u043e\u0441\u043e\u0431, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u0446\u0438\u043a\u043b\u043e\u0432.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|3<br> <br> <br>|1 2 3<br>2 4 6<br>3 6 9<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|5<br> <br> <br> <br> <br>|1 2 3 4 5<br>2 4 6 8 10<br>3 6 9 12 15<br>4 8 12 16 20<br>5 10 15 20 25<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from itertools import product", "", "n = int(input())", "c = 0", "for a, b in product([i for i in range(1, n + 1)], [i for i in range(1, n + 1)]):", " if c % n == 0 and c:", " print()", " print(a * b, end=\" \")", " c += 1", "print()"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u041c\u044b \u0434\u0435\u043b\u0438\u043b\u0438 \u0430\u043f\u0435\u043b\u044c\u0441\u0438\u043d 2.0**", "\u0410\u043d\u044f, \u0411\u043e\u0440\u044f \u0438 \u0412\u043e\u0432\u0430 \u0440\u0435\u0448\u0438\u043b\u0438 \u0441\u044a\u0435\u0441\u0442\u044c \u0430\u043f\u0435\u043b\u044c\u0441\u0438\u043d.<br>\u041f\u043e\u0434\u0441\u043a\u0430\u0436\u0438\u0442\u0435 \u0440\u0435\u0431\u044f\u0442\u0430\u043c, \u043a\u0430\u043a \u0438\u043c \u0435\u0433\u043e \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c.<br><br>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0432\u0441\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0441\u043f\u043e\u0441\u043e\u0431\u044b \u0440\u0430\u0437\u0434\u0435\u043b\u043a\u0438 \u0430\u043f\u0435\u043b\u044c\u0441\u0438\u043d\u0430.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u043e\u043b\u0435\u043a \u0430\u043f\u0435\u043b\u044c\u0441\u0438\u043d\u0430 ($N$).", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0430\u043f\u0435\u043b\u044c\u0441\u0438\u043d\u0430.<br><br>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u044f<br>\u041a\u0430\u0436\u0434\u043e\u043c\u0443 \u0440\u0435\u0431\u0451\u043d\u043a\u0443 \u0434\u043e\u043b\u0436\u043d\u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u044c\u0441\u044f \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u0430 \u0434\u043e\u043b\u044c\u043a\u0430 \u0430\u043f\u0435\u043b\u044c\u0441\u0438\u043d\u0430.<br>\u041d\u0438 \u043e\u0434\u043d\u043e\u0439 \u0434\u043e\u043b\u044c\u043a\u0438 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u043e\u0441\u0442\u0430\u0442\u044c\u0441\u044f.<br>\u0412\u044b\u0432\u043e\u0434\u0438\u0442\u044c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0432 \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0443\u0432\u0435\u043b\u0438\u0447\u0435\u043d\u0438\u044f \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0434\u043e\u043b\u0435\u043a \u0443 \u0410\u043d\u0438, \u0441\u043b\u0435\u0434\u043e\u043c \u0411\u043e\u0440\u0438 \u0438 \u0437\u0430\u0442\u0435\u043c \u0412\u043e\u0432\u044b.<br>\u0414\u043b\u044f \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0441\u0432\u0435\u0434\u0438\u0442\u0435 \u0437\u0430\u0434\u0430\u0447\u0443 \u043a \u0440\u0430\u0437\u0434\u0435\u043b\u0435\u043d\u0438\u044e \u0434\u043e\u043b\u0435\u043a \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u0440\u0435\u0431\u044f\u0442\u0430\u043c\u0438, \u0430 \u0442\u0440\u0435\u0442\u044c\u0435\u043c\u0443 \u043e\u0442\u0434\u0430\u0439\u0442\u0435 \u043e\u0441\u0442\u0430\u0442\u043a\u0438.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|3<br> <br>|\u0410 \u0411 \u0412<br>1 1 1<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|5<br> <br> <br> <br> <br> <br> <br>|\u0410 \u0411 \u0412<br>1 1 3<br>1 2 2<br>1 3 1<br>2 1 2<br>2 2 1<br>3 1 1<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from itertools import product", "", "n = int(input())", "", "print(\"\u0410 \u0411 \u0412\")", "", "for a, b in product([i for i in range(1, n - 1)], repeat=2):", " if a + b < n:", " print(a, b, n - (a + b))"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0427\u0438\u0441\u043b\u043e\u0432\u043e\u0439 \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a 3.0**", "\u0420\u0435\u0431\u044f\u0442\u0430 \u0432 \u0434\u0435\u0442\u0441\u043a\u043e\u043c \u0441\u0430\u0434\u0443 \u0432\u043d\u043e\u0432\u044c \u0443\u0447\u0430\u0442\u0441\u044f \u0441\u0447\u0438\u0442\u0430\u0442\u044c, \u0438 \u0432\u043e\u0441\u043f\u0438\u0442\u0430\u0442\u0435\u043b\u044c\u043d\u0438\u0446\u0430 \u0440\u0435\u0448\u0438\u043b\u0430 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u0438\u043c \u0431\u044b\u043b\u043e \u043f\u0440\u043e\u0449\u0435 \u043e\u0441\u0432\u043e\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u043d\u0430\u0432\u044b\u043a. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043e\u043d\u0430 \u0445\u043e\u0447\u0435\u0442 \u043e\u0444\u043e\u0440\u043c\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0438\u0437\u0443\u0447\u0430\u0435\u043c\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u043e\u0441\u043e\u0431\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c.<br>\u0414\u0435\u0442\u0438 \u0441\u043f\u0440\u0430\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0432\u0435\u0441\u044c\u043c\u0430 \u0431\u044b\u0441\u0442\u0440\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0435\u0439 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043f\u043e\u0441\u043e\u0431\u043d\u0430 \u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0447\u0438\u0441\u043b\u043e\u0432\u044b\u0435 \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u0438. \u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u0442\u0440\u043e\u0438\u0442 \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u0439 \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0447\u0438\u0441\u043b\u043e $N$ \u2014 \u0432\u044b\u0441\u043e\u0442\u0430 \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u0430.<br>\u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e \u0447\u0438\u0441\u043b\u043e $M$ \u2014 \u0448\u0438\u0440\u0438\u043d\u0430 \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u0433\u043e \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a\u0430.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u041d\u0443\u0436\u043d\u043e \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0441\u0444\u043e\u0440\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u0439 \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430.<br>\u0427\u0442\u043e\u0431\u044b \u043f\u0440\u044f\u043c\u043e\u0443\u0433\u043e\u043b\u044c\u043d\u0438\u043a \u0431\u044b\u043b \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u043c, \u043a\u0430\u0436\u0434\u044b\u0439 \u0435\u0433\u043e \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e\u0439 \u0448\u0438\u0440\u0438\u043d\u044b.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "itertools.product \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u043e \u043f\u043e\u0434\u0445\u043e\u0434\u0438\u0442, \u0447\u0442\u043e\u0431\u044b \u0438\u0437\u0431\u0430\u0432\u0438\u0442\u044c\u0441\u044f \u043e\u0442 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0445 \u0446\u0438\u043a\u043b\u043e\u0432.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|2<br>3<br>|1 2 3<br>4 5 6<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|4<br>6<br> <br> <br>| 1 2 3 4 5 6<br> 7 8 9 10 11 12<br>13 14 15 16 17 18<br>19 20 21 22 23 24<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["n, m = int(input()), int(input())", "", "numLength = len(str(n * m))", "", "for i in range(1, (n * m) + 1):", " if i % m == 0 and i:", " print(f\"{' ' * (numLength - len(str(i)))}{i}\")", " else:", " print(f\"{' ' * (numLength - len(str(i)))}{i}\", end=\" \")"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0421\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u043a\u0443\u043f\u043e\u043a 2.0**", "\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0432\u043d\u043e\u0432\u044c \u043f\u043e\u043c\u043e\u0436\u0435\u043c \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0443 \u0441 \u043f\u043e\u043a\u0443\u043f\u043a\u0430\u043c\u0438. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442 \u043f\u043e\u0436\u0435\u043b\u0430\u043d\u0438\u044f \u0441\u0435\u043c\u044c\u0438 \u0432 \u0435\u0434\u0438\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0437\u0430\u0434\u0430\u043d\u043e \u043d\u0430\u0442\u0443\u0440\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e $N$ \u2014 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0447\u043b\u0435\u043d\u043e\u0432 \u0441\u0435\u043c\u044c\u0438. \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 $N$ \u0441\u0442\u0440\u043e\u043a\u0430\u0445 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u0436\u0435\u043b\u0430\u0435\u043c\u044b\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u044b (\u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043f\u044f\u0442\u0443\u044e \u0438 \u043f\u0440\u043e\u0431\u0435\u043b).", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u041e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u043e \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u0443 \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432 \u0441 \u043d\u0443\u043c\u0435\u0440\u0430\u0446\u0438\u0435\u0439.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u041f\u043e\u043c\u043d\u0438\u0442\u0435, \u0447\u0442\u043e \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u044b \u043c\u043e\u0436\u043d\u043e \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0432 \u0441\u043f\u0438\u0441\u043a\u0435, \u0430 \u0435\u0433\u043e \u043c\u043e\u0436\u043d\u043e \u0440\u0430\u0441\u043f\u0430\u043a\u043e\u0432\u0430\u0442\u044c \u0432 \u043b\u044e\u0431\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|3<br>\u043a\u0430\u0440\u0442\u0438\u043d\u0430, \u043a\u043e\u0440\u0437\u0438\u043d\u0430, \u043a\u0430\u0440\u0442\u043e\u043d\u043a\u0430<br>\u043c\u044b\u043b\u043e, \u043c\u0430\u043d\u043a\u0430<br>\u043c\u043e\u043b\u043e\u043a\u043e, \u0445\u043b\u0435\u0431, \u0441\u044b\u0440<br> <br> <br> <br> <br>|1. \u043a\u0430\u0440\u0442\u0438\u043d\u0430<br>2. \u043a\u0430\u0440\u0442\u043e\u043d\u043a\u0430<br>3. \u043a\u043e\u0440\u0437\u0438\u043d\u0430<br>4. \u043c\u0430\u043d\u043a\u0430<br>5. \u043c\u043e\u043b\u043e\u043a\u043e<br>6. \u043c\u044b\u043b\u043e<br>7. \u0441\u044b\u0440<br>8. \u0445\u043b\u0435\u0431<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|2<br>\u043f\u0435\u0447\u0435\u043d\u044c\u0435, \u0441\u0443\u0448\u043a\u0438<br>\u0447\u0430\u0439, \u043a\u043e\u0444\u0435<br> <br>|1. \u043a\u043e\u0444\u0435<br>2. \u043f\u0435\u0447\u0435\u043d\u044c\u0435<br>3. \u0441\u0443\u0448\u043a\u0438<br>4. \u0447\u0430\u0439<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from itertools import chain", "", "food = sorted(list(chain.from_iterable([input().split(\", \") for _ in range(int(input()))])))", "", "for index, fd in enumerate(food, 1):", " print(f\"{index}. {fd}\")"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0420\u0430\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0441\u043f\u043e\u0440\u0442\u0441\u043c\u0435\u043d\u043e\u0432**", "\u0420\u0430\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0441\u043f\u043e\u0440\u0442\u0441\u043c\u0435\u043d\u043e\u0432 \u043d\u0430 \u0441\u0442\u0430\u0440\u0442\u0435 \u2014 \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430. \u041e\u0434\u043d\u0430\u043a\u043e \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u043e\u043d\u0430 \u0440\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u0437\u0430 \u043f\u0430\u0440\u0443 \u0441\u0442\u0440\u043e\u043a. \u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u0440\u0430\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u043a \u0441\u043f\u043e\u0440\u0442\u0441\u043c\u0435\u043d\u043e\u0432 \u043d\u0430 \u0441\u0442\u0430\u0440\u0442\u0435.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0437\u0430\u0434\u0430\u043d\u043e \u043d\u0430\u0442\u0443\u0440\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e $N$ \u2014 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043f\u043e\u0440\u0442\u0441\u043c\u0435\u043d\u043e\u0432. \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 $N$ \u0441\u0442\u0440\u043e\u043a\u0430\u0445 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u0438\u043c\u0435\u043d\u0430 \u0441\u043f\u043e\u0440\u0442\u0441\u043c\u0435\u043d\u043e\u0432.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u041e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u043e \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u0443 \u0441\u043f\u0438\u0441\u043e\u043a \u0440\u0430\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043e\u043a.<br>\u0418\u043c\u0435\u043d\u0430 \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043f\u044f\u0442\u0443\u044e \u0438 \u043f\u0440\u043e\u0431\u0435\u043b.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|3<br>\u0410\u043d\u044f<br>\u0411\u043e\u0440\u044f<br>\u0412\u043e\u0432\u0430<br> <br> <br>|\u0410\u043d\u044f, \u0411\u043e\u0440\u044f, \u0412\u043e\u0432\u0430<br>\u0410\u043d\u044f, \u0412\u043e\u0432\u0430, \u0411\u043e\u0440\u044f<br>\u0411\u043e\u0440\u044f, \u0410\u043d\u044f, \u0412\u043e\u0432\u0430<br>\u0411\u043e\u0440\u044f, \u0412\u043e\u0432\u0430, \u0410\u043d\u044f<br>\u0412\u043e\u0432\u0430, \u0410\u043d\u044f, \u0411\u043e\u0440\u044f<br>\u0412\u043e\u0432\u0430, \u0411\u043e\u0440\u044f, \u0410\u043d\u044f<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|4<br>\u0412\u043e\u0432\u0430<br>\u0410\u043d\u044f<br>\u0414\u0438\u043c\u0430<br>\u0411\u043e\u0440\u044f<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>|\u0410\u043d\u044f, \u0411\u043e\u0440\u044f, \u0412\u043e\u0432\u0430, \u0414\u0438\u043c\u0430<br>\u0410\u043d\u044f, \u0411\u043e\u0440\u044f, \u0414\u0438\u043c\u0430, \u0412\u043e\u0432\u0430<br>\u0410\u043d\u044f, \u0412\u043e\u0432\u0430, \u0411\u043e\u0440\u044f, \u0414\u0438\u043c\u0430<br>\u0410\u043d\u044f, \u0412\u043e\u0432\u0430, \u0414\u0438\u043c\u0430, \u0411\u043e\u0440\u044f<br>\u0410\u043d\u044f, \u0414\u0438\u043c\u0430, \u0411\u043e\u0440\u044f, \u0412\u043e\u0432\u0430<br>\u0410\u043d\u044f, \u0414\u0438\u043c\u0430, \u0412\u043e\u0432\u0430, \u0411\u043e\u0440\u044f<br>\u0411\u043e\u0440\u044f, \u0410\u043d\u044f, \u0412\u043e\u0432\u0430, \u0414\u0438\u043c\u0430<br>\u0411\u043e\u0440\u044f, \u0410\u043d\u044f, \u0414\u0438\u043c\u0430, \u0412\u043e\u0432\u0430<br>\u0411\u043e\u0440\u044f, \u0412\u043e\u0432\u0430, \u0410\u043d\u044f, \u0414\u0438\u043c\u0430<br>\u0411\u043e\u0440\u044f, \u0412\u043e\u0432\u0430, \u0414\u0438\u043c\u0430, \u0410\u043d\u044f<br>\u0411\u043e\u0440\u044f, \u0414\u0438\u043c\u0430, \u0410\u043d\u044f, \u0412\u043e\u0432\u0430<br>\u0411\u043e\u0440\u044f, \u0414\u0438\u043c\u0430, \u0412\u043e\u0432\u0430, \u0410\u043d\u044f<br>\u0412\u043e\u0432\u0430, \u0410\u043d\u044f, \u0411\u043e\u0440\u044f, \u0414\u0438\u043c\u0430<br>\u0412\u043e\u0432\u0430, \u0410\u043d\u044f, \u0414\u0438\u043c\u0430, \u0411\u043e\u0440\u044f<br>\u0412\u043e\u0432\u0430, \u0411\u043e\u0440\u044f, \u0410\u043d\u044f, \u0414\u0438\u043c\u0430<br>\u0412\u043e\u0432\u0430, \u0411\u043e\u0440\u044f, \u0414\u0438\u043c\u0430, \u0410\u043d\u044f<br>\u0412\u043e\u0432\u0430, \u0414\u0438\u043c\u0430, \u0410\u043d\u044f, \u0411\u043e\u0440\u044f<br>\u0412\u043e\u0432\u0430, \u0414\u0438\u043c\u0430, \u0411\u043e\u0440\u044f, \u0410\u043d\u044f<br>\u0414\u0438\u043c\u0430, \u0410\u043d\u044f, \u0411\u043e\u0440\u044f, \u0412\u043e\u0432\u0430<br>\u0414\u0438\u043c\u0430, \u0410\u043d\u044f, \u0412\u043e\u0432\u0430, \u0411\u043e\u0440\u044f<br>\u0414\u0438\u043c\u0430, \u0411\u043e\u0440\u044f, \u0410\u043d\u044f, \u0412\u043e\u0432\u0430<br>\u0414\u0438\u043c\u0430, \u0411\u043e\u0440\u044f, \u0412\u043e\u0432\u0430, \u0410\u043d\u044f<br>\u0414\u0438\u043c\u0430, \u0412\u043e\u0432\u0430, \u0410\u043d\u044f, \u0411\u043e\u0440\u044f<br>\u0414\u0438\u043c\u0430, \u0412\u043e\u0432\u0430, \u0411\u043e\u0440\u044f, \u0410\u043d\u044f<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from itertools import permutations", "", "for names in permutations(sorted([input() for _ in range(int(input()))])):", " print(\", \".join(names))"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0421\u043f\u043e\u0440\u0442\u0438\u0432\u043d\u044b\u0435 \u0433\u0430\u0434\u0430\u043d\u0438\u044f**", "\u0425\u043e\u0440\u043e\u0448\u043e, \u0441\u043f\u043e\u0440\u0442\u0441\u043c\u0435\u043d\u044b \u0440\u0430\u0441\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u044b \u043d\u0430 \u0441\u0442\u0430\u0440\u0442\u0435. \u0412\u043e\u0442 \u0442\u043e\u043b\u044c\u043a\u043e \u0443\u0433\u0430\u0434\u0430\u0442\u044c \u0444\u0438\u043d\u0430\u043b\u0438\u0441\u0442\u043e\u0432 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0445 \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u0435\u043b\u0435\u0439.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0437\u0430\u0434\u0430\u043d\u043e \u043d\u0430\u0442\u0443\u0440\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e $N$ \u2014 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043f\u043e\u0440\u0442\u0441\u043c\u0435\u043d\u043e\u0432. \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 $N$ \u0441\u0442\u0440\u043e\u043a\u0430\u0445 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u0438\u043c\u0435\u043d\u0430 \u0441\u043f\u043e\u0440\u0442\u0441\u043c\u0435\u043d\u043e\u0432.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u041e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u043e \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u0443 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432.<br>\u0418\u043c\u0435\u043d\u0430 \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043f\u044f\u0442\u0443\u044e \u0438 \u043f\u0440\u043e\u0431\u0435\u043b.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|3<br>\u0410\u043d\u044f<br>\u0411\u043e\u0440\u044f<br>\u0412\u043e\u0432\u0430<br> <br> <br>|\u0410\u043d\u044f, \u0411\u043e\u0440\u044f, \u0412\u043e\u0432\u0430<br>\u0410\u043d\u044f, \u0412\u043e\u0432\u0430, \u0411\u043e\u0440\u044f<br>\u0411\u043e\u0440\u044f, \u0410\u043d\u044f, \u0412\u043e\u0432\u0430<br>\u0411\u043e\u0440\u044f, \u0412\u043e\u0432\u0430, \u0410\u043d\u044f<br>\u0412\u043e\u0432\u0430, \u0410\u043d\u044f, \u0411\u043e\u0440\u044f<br>\u0412\u043e\u0432\u0430, \u0411\u043e\u0440\u044f, \u0410\u043d\u044f<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|4<br>\u0412\u043e\u0432\u0430<br>\u0410\u043d\u044f<br>\u0414\u0438\u043c\u0430<br>\u0411\u043e\u0440\u044f<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>|\u0410\u043d\u044f, \u0411\u043e\u0440\u044f, \u0412\u043e\u0432\u0430<br>\u0410\u043d\u044f, \u0411\u043e\u0440\u044f, \u0414\u0438\u043c\u0430<br>\u0410\u043d\u044f, \u0412\u043e\u0432\u0430, \u0411\u043e\u0440\u044f<br>\u0410\u043d\u044f, \u0412\u043e\u0432\u0430, \u0414\u0438\u043c\u0430<br>\u0410\u043d\u044f, \u0414\u0438\u043c\u0430, \u0411\u043e\u0440\u044f<br>\u0410\u043d\u044f, \u0414\u0438\u043c\u0430, \u0412\u043e\u0432\u0430<br>\u0411\u043e\u0440\u044f, \u0410\u043d\u044f, \u0412\u043e\u0432\u0430<br>\u0411\u043e\u0440\u044f, \u0410\u043d\u044f, \u0414\u0438\u043c\u0430<br>\u0411\u043e\u0440\u044f, \u0412\u043e\u0432\u0430, \u0410\u043d\u044f<br>\u0411\u043e\u0440\u044f, \u0412\u043e\u0432\u0430, \u0414\u0438\u043c\u0430<br>\u0411\u043e\u0440\u044f, \u0414\u0438\u043c\u0430, \u0410\u043d\u044f<br>\u0411\u043e\u0440\u044f, \u0414\u0438\u043c\u0430, \u0412\u043e\u0432\u0430<br>\u0412\u043e\u0432\u0430, \u0410\u043d\u044f, \u0411\u043e\u0440\u044f<br>\u0412\u043e\u0432\u0430, \u0410\u043d\u044f, \u0414\u0438\u043c\u0430<br>\u0412\u043e\u0432\u0430, \u0411\u043e\u0440\u044f, \u0410\u043d\u044f<br>\u0412\u043e\u0432\u0430, \u0411\u043e\u0440\u044f, \u0414\u0438\u043c\u0430<br>\u0412\u043e\u0432\u0430, \u0414\u0438\u043c\u0430, \u0410\u043d\u044f<br>\u0412\u043e\u0432\u0430, \u0414\u0438\u043c\u0430, \u0411\u043e\u0440\u044f<br>\u0414\u0438\u043c\u0430, \u0410\u043d\u044f, \u0411\u043e\u0440\u044f<br>\u0414\u0438\u043c\u0430, \u0410\u043d\u044f, \u0412\u043e\u0432\u0430<br>\u0414\u0438\u043c\u0430, \u0411\u043e\u0440\u044f, \u0410\u043d\u044f<br>\u0414\u0438\u043c\u0430, \u0411\u043e\u0440\u044f, \u0412\u043e\u0432\u0430<br>\u0414\u0438\u043c\u0430, \u0412\u043e\u0432\u0430, \u0410\u043d\u044f<br>\u0414\u0438\u043c\u0430, \u0412\u043e\u0432\u0430, \u0411\u043e\u0440\u044f<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from itertools import permutations", "", "for names in permutations(sorted([input() for _ in range(int(input()))]), r=3):", " print(\", \".join(names))"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0421\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u043a\u0443\u043f\u043e\u043a 3.0**", "\u0412 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u0441\u0435\u043c\u044c\u044f \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0438\u043b\u0430\u0441\u044c \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0432 \u0446\u0435\u043b\u044f\u0445 \u044d\u043a\u043e\u043d\u043e\u043c\u0438\u0438 \u0431\u044e\u0434\u0436\u0435\u0442\u0430, \u043e\u043d\u0438 \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u0432\u0435\u0440\u0448\u0430\u0442\u044c \u0432 \u0434\u0435\u043d\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0440\u0438 \u043f\u043e\u043a\u0443\u043f\u043a\u0438. \u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0433\u043e\u0442\u043e\u0432\u0438\u0442 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0441\u043f\u0438\u0441\u043a\u043e\u0432 \u043f\u043e\u043a\u0443\u043f\u043e\u043a.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0437\u0430\u0434\u0430\u043d\u043e \u043d\u0430\u0442\u0443\u0440\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e $N$ \u2014 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0447\u043b\u0435\u043d\u043e\u0432 \u0441\u0435\u043c\u044c\u0438. \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 $N$ \u0441\u0442\u0440\u043e\u043a\u0430\u0445 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u0436\u0435\u043b\u0430\u0435\u043c\u044b\u0435 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u044b (\u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043f\u044f\u0442\u0443\u044e \u0438 \u043f\u0440\u043e\u0431\u0435\u043b).", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0412\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0441\u043f\u0438\u0441\u043a\u043e\u0432 \u043f\u043e\u043a\u0443\u043f\u043e\u043a \u0432 \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435.", "### **\u041f\u0440\u0438\u043c\u0435\u0440**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|2<br>\u043f\u0435\u0447\u0435\u043d\u044c\u0435, \u0441\u0443\u0448\u043a\u0438<br>\u0447\u0430\u0439, \u043a\u043e\u0444\u0435<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>|\u043a\u043e\u0444\u0435 \u043f\u0435\u0447\u0435\u043d\u044c\u0435 \u0441\u0443\u0448\u043a\u0438<br>\u043a\u043e\u0444\u0435 \u043f\u0435\u0447\u0435\u043d\u044c\u0435 \u0447\u0430\u0439<br>\u043a\u043e\u0444\u0435 \u0441\u0443\u0448\u043a\u0438 \u043f\u0435\u0447\u0435\u043d\u044c\u0435<br>\u043a\u043e\u0444\u0435 \u0441\u0443\u0448\u043a\u0438 \u0447\u0430\u0439<br>\u043a\u043e\u0444\u0435 \u0447\u0430\u0439 \u043f\u0435\u0447\u0435\u043d\u044c\u0435<br>\u043a\u043e\u0444\u0435 \u0447\u0430\u0439 \u0441\u0443\u0448\u043a\u0438<br>\u043f\u0435\u0447\u0435\u043d\u044c\u0435 \u043a\u043e\u0444\u0435 \u0441\u0443\u0448\u043a\u0438<br>\u043f\u0435\u0447\u0435\u043d\u044c\u0435 \u043a\u043e\u0444\u0435 \u0447\u0430\u0439<br>\u043f\u0435\u0447\u0435\u043d\u044c\u0435 \u0441\u0443\u0448\u043a\u0438 \u043a\u043e\u0444\u0435<br>\u043f\u0435\u0447\u0435\u043d\u044c\u0435 \u0441\u0443\u0448\u043a\u0438 \u0447\u0430\u0439<br>\u043f\u0435\u0447\u0435\u043d\u044c\u0435 \u0447\u0430\u0439 \u043a\u043e\u0444\u0435<br>\u043f\u0435\u0447\u0435\u043d\u044c\u0435 \u0447\u0430\u0439 \u0441\u0443\u0448\u043a\u0438<br>\u0441\u0443\u0448\u043a\u0438 \u043a\u043e\u0444\u0435 \u043f\u0435\u0447\u0435\u043d\u044c\u0435<br>\u0441\u0443\u0448\u043a\u0438 \u043a\u043e\u0444\u0435 \u0447\u0430\u0439<br>\u0441\u0443\u0448\u043a\u0438 \u043f\u0435\u0447\u0435\u043d\u044c\u0435 \u043a\u043e\u0444\u0435<br>\u0441\u0443\u0448\u043a\u0438 \u043f\u0435\u0447\u0435\u043d\u044c\u0435 \u0447\u0430\u0439<br>\u0441\u0443\u0448\u043a\u0438 \u0447\u0430\u0439 \u043a\u043e\u0444\u0435<br>\u0441\u0443\u0448\u043a\u0438 \u0447\u0430\u0439 \u043f\u0435\u0447\u0435\u043d\u044c\u0435<br>\u0447\u0430\u0439 \u043a\u043e\u0444\u0435 \u043f\u0435\u0447\u0435\u043d\u044c\u0435<br>\u0447\u0430\u0439 \u043a\u043e\u0444\u0435 \u0441\u0443\u0448\u043a\u0438<br>\u0447\u0430\u0439 \u043f\u0435\u0447\u0435\u043d\u044c\u0435 \u043a\u043e\u0444\u0435<br>\u0447\u0430\u0439 \u043f\u0435\u0447\u0435\u043d\u044c\u0435 \u0441\u0443\u0448\u043a\u0438<br>\u0447\u0430\u0439 \u0441\u0443\u0448\u043a\u0438 \u043a\u043e\u0444\u0435<br>\u0447\u0430\u0439 \u0441\u0443\u0448\u043a\u0438 \u043f\u0435\u0447\u0435\u043d\u044c\u0435<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from itertools import permutations, chain", "", "for a, b, c in permutations(sorted(list(chain.from_iterable([input().split(\", \") for _ in range(int(input()))]))), r=3):", " print(a, b, c)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0420\u0430\u0441\u043a\u043b\u0430\u0434 \u0442\u0430\u043a\u043e\u0432...**", "\u0412\u0438\u0442\u0430\u043b\u0438\u0439 \u043b\u044e\u0431\u0438\u0442 \u0438\u0433\u0440\u0430\u0442\u044c \u0432 \u043a\u0430\u0440\u0442\u044b. \u041e\u043d \u0440\u0435\u0448\u0438\u043b \u0432\u044b\u044f\u0441\u043d\u0438\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u0435\u0441\u0442\u044c \u0432\u0430\u0440\u0438\u0430\u0446\u0438\u0438 \u0432\u044b\u0442\u0430\u0449\u0438\u0442\u044c \u0438\u0437 \u043a\u043e\u043b\u043e\u0434\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u0430\u0440\u0442. \u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043c\u0430\u0441\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u0442\u0440\u043e\u0439\u043a\u0435.<br>\u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043d \u0434\u043e\u0441\u0442\u043e\u0438\u043d\u0441\u0442\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0432 \u0442\u0440\u043e\u0439\u043a\u0435.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0412\u044b\u0432\u0435\u0434\u0438\u0442\u0435 \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u043f\u0435\u0440\u0432\u044b\u0435 10 \u043f\u043e\u043b\u0443\u0447\u0438\u0432\u0448\u0438\u0445\u0441\u044f \u0442\u0440\u043e\u0435\u043a.<br>\u041a\u0430\u0440\u0442\u044b \u0432 \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u043b\u0435\u043a\u0441\u0438\u043a\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438 (\u043f\u043e \u0441\u0442\u0440\u043e\u043a\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043a\u0430\u0440\u0442\u044b). \u041a\u0430\u0440\u0442\u044b \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 \u0432\u044b\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u0447\u0435\u0440\u0435\u0437 \u0437\u0430\u043f\u044f\u0442\u0443\u044e \u0441 \u043f\u0440\u043e\u0431\u0435\u043b\u043e\u043c \u043f\u043e\u0441\u043b\u0435 \u043d\u0435\u0451.<br>\u041a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 \u043c\u0435\u0436\u0434\u0443 \u0441\u043e\u0431\u043e\u0439 \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432 \u043b\u0435\u043a\u0441\u0438\u043a\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u043f\u043e \u0441\u0442\u0440\u043e\u043a\u0435, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0439 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u044e \u0446\u0435\u043b\u0438\u043a\u043e\u043c.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: \u0432\u0430\u043b\u0435\u0442-\u0434\u0430\u043c\u0430-\u043a\u043e\u0440\u043e\u043b\u044c-\u0442\u0443\u0437 \u043b\u0435\u043a\u0441\u0438\u043a\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u044b. \u041d\u043e \u00ab10 ...\u00bb \u043b\u0435\u043a\u0441\u0438\u043a\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438 \u043c\u043b\u0430\u0434\u0448\u0435, \u0447\u0435\u043c \u00ab2 ...\u00bb, \u0430 \u0431\u0443\u0431\u043d\u044b \u043c\u043b\u0430\u0434\u0448\u0435, \u0447\u0435\u043c \u043f\u0438\u043a\u0438.<br><br>\u041c\u0430\u0441\u0442\u0438 \u0432 \u0438\u043c\u0435\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u0438 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u043f\u0430\u0434\u0435\u0436\u0430\u0445:<br>", "\u0418\u043c\u0435\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439\t\u0420\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439<br>\u0431\u0443\u0431\u0438\t\u0431\u0443\u0431\u0435\u043d<br>\u043f\u0438\u043a\u0438\t\u043f\u0438\u043a<br>\u0442\u0440\u0435\u0444\u044b\t\u0442\u0440\u0435\u0444<br>\u0447\u0435\u0440\u0432\u0438\t\u0447\u0435\u0440\u0432\u0435\u0439", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|\u043f\u0438\u043a\u0438<br>10<br> <br> <br> <br> <br> <br> <br> <br> <br>|2 \u0431\u0443\u0431\u0435\u043d, 2 \u043f\u0438\u043a, 2 \u0442\u0440\u0435\u0444<br>2 \u0431\u0443\u0431\u0435\u043d, 2 \u043f\u0438\u043a, 2 \u0447\u0435\u0440\u0432\u0435\u0439<br>2 \u0431\u0443\u0431\u0435\u043d, 2 \u043f\u0438\u043a, 3 \u0431\u0443\u0431\u0435\u043d<br>2 \u0431\u0443\u0431\u0435\u043d, 2 \u043f\u0438\u043a, 3 \u043f\u0438\u043a<br>2 \u0431\u0443\u0431\u0435\u043d, 2 \u043f\u0438\u043a, 3 \u0442\u0440\u0435\u0444<br>2 \u0431\u0443\u0431\u0435\u043d, 2 \u043f\u0438\u043a, 3 \u0447\u0435\u0440\u0432\u0435\u0439<br>2 \u0431\u0443\u0431\u0435\u043d, 2 \u043f\u0438\u043a, 4 \u0431\u0443\u0431\u0435\u043d<br>2 \u0431\u0443\u0431\u0435\u043d, 2 \u043f\u0438\u043a, 4 \u043f\u0438\u043a<br>2 \u0431\u0443\u0431\u0435\u043d, 2 \u043f\u0438\u043a, 4 \u0442\u0440\u0435\u0444<br>2 \u0431\u0443\u0431\u0435\u043d, 2 \u043f\u0438\u043a, 4 \u0447\u0435\u0440\u0432\u0435\u0439<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|\u0442\u0440\u0435\u0444\u044b<br>\u043a\u043e\u0440\u043e\u043b\u044c<br> <br> <br> <br> <br> <br> <br> <br> <br>|10 \u0431\u0443\u0431\u0435\u043d, 10 \u043f\u0438\u043a, 10 \u0442\u0440\u0435\u0444<br>10 \u0431\u0443\u0431\u0435\u043d, 10 \u043f\u0438\u043a, 2 \u0442\u0440\u0435\u0444<br>10 \u0431\u0443\u0431\u0435\u043d, 10 \u043f\u0438\u043a, 3 \u0442\u0440\u0435\u0444<br>10 \u0431\u0443\u0431\u0435\u043d, 10 \u043f\u0438\u043a, 4 \u0442\u0440\u0435\u0444<br>10 \u0431\u0443\u0431\u0435\u043d, 10 \u043f\u0438\u043a, 5 \u0442\u0440\u0435\u0444<br>10 \u0431\u0443\u0431\u0435\u043d, 10 \u043f\u0438\u043a, 6 \u0442\u0440\u0435\u0444<br>10 \u0431\u0443\u0431\u0435\u043d, 10 \u043f\u0438\u043a, 7 \u0442\u0440\u0435\u0444<br>10 \u0431\u0443\u0431\u0435\u043d, 10 \u043f\u0438\u043a, 8 \u0442\u0440\u0435\u0444<br>10 \u0431\u0443\u0431\u0435\u043d, 10 \u043f\u0438\u043a, 9 \u0442\u0440\u0435\u0444<br>10 \u0431\u0443\u0431\u0435\u043d, 10 \u043f\u0438\u043a, \u0432\u0430\u043b\u0435\u0442 \u0442\u0440\u0435\u0444<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from itertools import product", "tr = {\"\u0431\u0443\u0431\u0438\": \"\u0431\u0443\u0431\u0435\u043d\", \"\u043f\u0438\u043a\u0438\": \"\u043f\u0438\u043a\", \"\u0442\u0440\u0435\u0444\u044b\": \"\u0442\u0440\u0435\u0444\", \"\u0447\u0435\u0440\u0432\u0438\": \"\u0447\u0435\u0440\u0432\u0435\u0439\"}", "card_type, card_num = tr[input()], input()", "", "types = (\"\u0431\u0443\u0431\u0435\u043d\", \"\u043f\u0438\u043a\", \"\u0442\u0440\u0435\u0444\", \"\u0447\u0435\u0440\u0432\u0435\u0439\")", "nums = (\"10\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"\u0432\u0430\u043b\u0435\u0442\", \"\u0434\u0430\u043c\u0430\", \"\u043a\u043e\u0440\u043e\u043b\u044c\", \"\u0442\u0443\u0437\")", "count = 0", "for elem in product(nums, types, repeat=3): ", " f = True", " a, b, c = f\"{elem[0]} {elem[1]}\", f\"{elem[2]} {elem[3]}\", f\"{elem[4]} {elem[5]}\"", " if a == b or b == c or a == c:", " f = False", " if f and card_type in elem and card_num not in elem:", " print(a, b, c, sep=\", \")", " count += 1", " if count == 10:", " break"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0410 \u0435\u0441\u0442\u044c \u0435\u0449\u0451 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u044b?**", "\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0432\u043d\u043e\u0432\u044c \u043f\u043e\u043c\u043e\u0436\u0435\u043c \u0412\u0438\u0442\u0430\u043b\u0438\u044e \u0432\u044b\u044f\u0441\u043d\u0438\u0442\u044c, \u043a\u0430\u043a\u0438\u0435 \u0432\u0430\u0440\u0438\u0430\u0446\u0438\u0438 \u0432\u044b\u0442\u0430\u0449\u0438\u0442\u044c \u0438\u0437 \u043a\u043e\u043b\u043e\u0434\u044b \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0435 \u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u0430\u0440\u0442 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b. \u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u0432 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u0430 \u043c\u0430\u0441\u0442\u044c, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u043e\u043b\u0436\u043d\u0430 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u0442\u0440\u043e\u0439\u043a\u0435. \u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043d \u0434\u043e\u0441\u0442\u043e\u0438\u043d\u0441\u0442\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0432 \u0442\u0440\u043e\u0439\u043a\u0435. \u0412 \u0442\u0440\u0435\u0442\u044c\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043d \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0439 \u0412\u0438\u0442\u0430\u043b\u0438\u0435\u043c.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0412\u044b\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0440\u0430\u0441\u043a\u043b\u0430\u0434\u0430.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: \u0432\u0430\u043b\u0435\u0442-\u0434\u0430\u043c\u0430-\u043a\u043e\u0440\u043e\u043b\u044c-\u0442\u0443\u0437 \u043b\u0435\u043a\u0441\u0438\u043a\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438 \u0443\u043f\u043e\u0440\u044f\u0434\u043e\u0447\u0435\u043d\u044b. \u041d\u043e \u00ab10 ...\u00bb \u043b\u0435\u043a\u0441\u0438\u043a\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438 \u043c\u043b\u0430\u0434\u0448\u0435, \u0447\u0435\u043c \u00ab2 ...\u00bb, \u0430 \u0431\u0443\u0431\u043d\u044b \u043c\u043b\u0430\u0434\u0448\u0435, \u0447\u0435\u043c \u043f\u0438\u043a\u0438.<br><br>\u041c\u0430\u0441\u0442\u0438 \u0432 \u0438\u043c\u0435\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u0438 \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u043c \u043f\u0430\u0434\u0435\u0436\u0430\u0445:<br>", "\u0418\u043c\u0435\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439\t\u0420\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439<br>\u0431\u0443\u0431\u0438\t\u0431\u0443\u0431\u0435\u043d<br>\u043f\u0438\u043a\u0438\t\u043f\u0438\u043a<br>\u0442\u0440\u0435\u0444\u044b\t\u0442\u0440\u0435\u0444<br>\u0447\u0435\u0440\u0432\u0438\t\u0447\u0435\u0440\u0432\u0435\u0439", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|\u043f\u0438\u043a\u0438<br>10<br>9 \u043f\u0438\u043a, \u043a\u043e\u0440\u043e\u043b\u044c \u0442\u0440\u0435\u0444, \u0442\u0443\u0437 \u0447\u0435\u0440\u0432\u0435\u0439<br>|9 \u043f\u0438\u043a, \u043a\u043e\u0440\u043e\u043b\u044c \u0447\u0435\u0440\u0432\u0435\u0439, \u0442\u0443\u0437 \u0431\u0443\u0431\u0435\u043d<br> <br> <br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|\u0442\u0440\u0435\u0444\u044b<br>\u043a\u043e\u0440\u043e\u043b\u044c<br>2 \u0447\u0435\u0440\u0432\u0435\u0439, \u0442\u0443\u0437 \u043f\u0438\u043a, \u0442\u0443\u0437 \u0442\u0440\u0435\u0444<br>|2 \u0447\u0435\u0440\u0432\u0435\u0439, \u0442\u0443\u0437 \u0442\u0440\u0435\u0444, \u0442\u0443\u0437 \u0447\u0435\u0440\u0432\u0435\u0439<br> <br> <br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from itertools import product", "tr = {\"\u0431\u0443\u0431\u0438\": \"\u0431\u0443\u0431\u0435\u043d\", \"\u043f\u0438\u043a\u0438\": \"\u043f\u0438\u043a\", \"\u0442\u0440\u0435\u0444\u044b\": \"\u0442\u0440\u0435\u0444\", \"\u0447\u0435\u0440\u0432\u0438\": \"\u0447\u0435\u0440\u0432\u0435\u0439\"}", "types = (\"\u0431\u0443\u0431\u0435\u043d\", \"\u043f\u0438\u043a\", \"\u0442\u0440\u0435\u0444\", \"\u0447\u0435\u0440\u0432\u0435\u0439\")", "nums = (\"10\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"\u0432\u0430\u043b\u0435\u0442\", \"\u0434\u0430\u043c\u0430\", \"\u043a\u043e\u0440\u043e\u043b\u044c\", \"\u0442\u0443\u0437\")", "", "card_type, card_num = tr[input()], input()", "combtorem = input()", "", "prevcomb = \"\"", "f = False", "# arr = []", "for elem in product(nums, types, repeat=3): ", " a, b, c = f\"{elem[0]} {elem[1]}\", f\"{elem[2]} {elem[3]}\", f\"{elem[4]} {elem[5]}\"", " if a == b or b == c or a == c:", " continue", " if card_type not in elem or card_num in elem:", " continue", " ", " comb = \", \".join([a, b, c])", " ", " # if len(arr) >= 10:", " # arr = arr[1:]", " # arr.append(comb)", "", " if prevcomb == combtorem:", " f = True", "", " if f and comb.split()[-2] == combtorem.split()[-2]:", " print(comb)", " break", "", " prevcomb = comb"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0441\u0442\u0438**", "\u0412\u0441\u044f \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e-\u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0442\u0435\u0445\u043d\u0438\u043a\u0430 \u0441\u0442\u0440\u043e\u0438\u0442\u0441\u044f \u043d\u0430 \u0411\u0443\u043b\u0435\u0432\u043e\u0439 \u0430\u043b\u0433\u0435\u0431\u0440\u0435, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u043f\u0435\u0440\u0438\u0440\u0443\u0435\u0442 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0441\u0442\u044c\u044e \u0438 \u043b\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0432\u044b\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043d\u0438\u0439. \u041b\u044e\u0431\u043e\u0439 \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 (\u0432 Python \u044d\u0442\u043e and, or, not).<br><br>\u0427\u0430\u0449\u0435 \u0432\u0441\u0435\u0433\u043e \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u043c\u0438 \u0432\u044b\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043d\u0438\u044f\u043c\u0438 \u043f\u0440\u0438\u0431\u0435\u0433\u0430\u044e\u0442 \u043a \u043c\u0435\u0442\u043e\u0434\u0443 \u043f\u043e\u0434 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435\u043c \u00ab\u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0441\u0442\u0438\u00bb.<br>\u0421\u0443\u0442\u044c \u043c\u0435\u0442\u043e\u0434\u0430 \u043f\u0440\u043e\u0441\u0442\u0430 \u2014 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0432\u0441\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0438 \u0434\u043b\u044f \u043d\u0438\u0445 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442\u0441\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442.<br><br>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u043b\u044f \u0432\u0432\u0435\u0434\u0451\u043d\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0432\u044b\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u0438\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0441\u0442\u0438.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043e\u0442 \u0442\u0440\u0435\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 (a, b, c) \u0432\u0430\u043b\u0438\u0434\u043d\u043e\u0435 \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u0430 Python.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0412\u044b\u0432\u0435\u0434\u0438\u0442\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0441\u0442\u0438 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u0414\u043b\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f Python \u043a\u043e\u0434\u0430, \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u0432 \u0441\u0442\u0440\u043e\u043a\u0430\u0445, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0434\u0432\u0435 \u0437\u0430\u043c\u0435\u0447\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438: exec \u0438 eval.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|not a or b and c<br> <br> <br> <br> <br> <br> <br> <br> <br>|a b c f<br>0 0 0 1<br>0 0 1 1<br>0 1 0 1<br>0 1 1 1<br>1 0 0 0<br>1 0 1 0<br>1 1 0 0<br>1 1 1 1<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|a and not b and c<br> <br> <br> <br> <br> <br> <br> <br> <br>|a b c f<br>0 0 0 0<br>0 0 1 0<br>0 1 0 0<br>0 1 1 0<br>1 0 0 0<br>1 0 1 1<br>1 1 0 0<br>1 1 1 0<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from itertools import product", "", "state = input()", "print(\"a b c f\")", "for elem in product((0, 1), repeat=3):", " a, b, c = elem[0], elem[1], elem[2]", " print(a, b, c, int(eval(state)))"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0422\u0430\u0431\u043b\u0438\u0446\u0430 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0441\u0442\u0438 2**", "\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0441\u0442\u0438. \u041f\u0440\u043e\u0434\u0443\u043c\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u043b\u044f \u0432\u0432\u0435\u0434\u0451\u043d\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0432\u044b\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u0438\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0441\u0442\u0438.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043e\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432\u0430\u043b\u0438\u0434\u043d\u043e\u0435 \u0434\u043b\u044f \u044f\u0437\u044b\u043a\u0430 Python.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0412\u044b\u0432\u0435\u0434\u0438\u0442\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0441\u0442\u0438 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u0412 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0438 \u0432\u0441\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u043d\u044b \u0437\u0430\u0433\u043b\u0430\u0432\u043d\u044b\u043c\u0438 \u043b\u0430\u0442\u0438\u043d\u0441\u043a\u0438\u043c\u0438 \u0431\u0443\u043a\u0432\u0430\u043c\u0438.<br>\u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b __globals \u0438 __locals \u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 eval.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|not A or B and C<br> <br> <br> <br> <br> <br> <br> <br> <br>|A B C F<br>0 0 0 1<br>0 0 1 1<br>0 1 0 1<br>0 1 1 1<br>1 0 0 0<br>1 0 1 0<br>1 1 0 0<br>1 1 1 1<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|A and not B and A<br> <br> <br> <br> <br>|A B F<br>0 0 0<br>0 1 0<br>1 0 1<br>1 1 0<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from itertools import product", "alph = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"", "state = input()", "arr = []", "for let in alph:", " if let in state:", " arr.append(let)", "", "print(*arr, \"F\")", "", "for elem in product((0, 1), repeat=len(arr)):", " m = []", " buff = arr", " c = 0", " for let in alph:", " if let in buff:", " m.append(elem[c])", " buff = buff[1:]", " c += 1 ", " else:", " m.append(0)", "", " dict = {alph[i].lower(): m[i] for i in range(len(alph))}", " print(*elem, int(eval(state.lower(), {}, dict)))"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0422\u0430\u0431\u043b\u0438\u0446\u044b \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0441\u0442\u0438 3**", "\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u043c \u0440\u0430\u0431\u043e\u0442\u0443 \u0441 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u043c\u0438 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0441\u0442\u0438.<br>\u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0438\u0437 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439 \u0411\u0443\u043b\u0435\u0432\u043e\u0439 \u0430\u043b\u0433\u0435\u0431\u0440\u044b \u043d\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u0432 Python.<br>\u0421\u0430\u043c\u044b\u0435 \u0447\u0430\u0441\u0442\u044b\u0435 \u043d\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438 \u044d\u0442\u043e: \u0438\u043c\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f, \u0441\u0442\u0440\u043e\u0433\u0430\u044f \u0434\u0438\u0437\u044a\u044e\u043d\u043a\u0446\u0438\u044f \u0438 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u044c.<br><br>\u041e\u0431\u043e\u0437\u043d\u0430\u0447\u0438\u043c \u0438\u0445 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<br>", "* \u0438\u043c\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f \u2014 ->;", "* \u0441\u0442\u0440\u043e\u0433\u0430\u044f \u0434\u0438\u0437\u044a\u044e\u043d\u043a\u0446\u0438\u044f \u2014 ^;", "* \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u044c \u2014 ~.", "", "\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u043b\u044f \u0432\u0432\u0435\u0434\u0451\u043d\u043d\u043e\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0432\u044b\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043d\u0438\u044f \u0441\u0442\u0440\u043e\u0438\u0442 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0441\u0442\u0438.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 \u043e\u0442 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445.<br><br>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f:<br>", "* \u0417\u0430\u0433\u043b\u0430\u0432\u043d\u0430\u044f \u043b\u0430\u0442\u0438\u043d\u0441\u043a\u0430\u044f \u0431\u0443\u043a\u0432\u0430 \u2014 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f;", "* not \u2014 \u043e\u0442\u0440\u0438\u0446\u0430\u043d\u0438\u0435;", "* and \u2014 \u043a\u043e\u043d\u044a\u044e\u043d\u043a\u0446\u0438\u044f;", "* or \u2014 \u0434\u0438\u0437\u044a\u044e\u043d\u043a\u0446\u0438\u044f;", "* ^ \u2014 \u0441\u0442\u0440\u043e\u0433\u0430\u044f \u0434\u0438\u0437\u044a\u044e\u043d\u043a\u0446\u0438\u044f;", "* -> \u2014 \u0438\u043c\u043f\u043b\u0438\u043a\u0430\u0446\u0438\u044f;", "* ~ \u2014 \u044d\u043a\u0432\u0438\u0432\u0430\u043b\u0435\u043d\u0442\u043d\u043e\u0441\u0442\u044c;", "* () \u2014 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u043a\u043e\u0431\u043a\u0438.", "", "", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0412\u044b\u0432\u0435\u0434\u0438\u0442\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u0443 \u0438\u0441\u0442\u0438\u043d\u043d\u043e\u0441\u0442\u0438 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u041f\u0440\u0435\u0436\u0434\u0435, \u0447\u0435\u043c \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0438\u0445 \u043f\u0440\u0438\u043e\u0440\u0438\u0442\u0435\u0442.<br>\u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u0435\u043c \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0437\u043d\u0430\u043d\u0438\u044f\u043c\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u043c\u0438 \u043f\u0440\u0438 \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u00ab\u041f\u043e\u043b\u044c\u0441\u043a\u0438\u0439 \u043a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440\u00bb.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|A -> B ~ C<br> <br> <br> <br> <br> <br> <br> <br> <br>|A B C F<br>0 0 0 0<br>0 0 1 1<br>0 1 0 0<br>0 1 1 1<br>1 0 0 1<br>1 0 1 0<br>1 1 0 0<br>1 1 1 1<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|A or C ~ not (A -> B) or C<br> <br> <br> <br> <br> <br> <br> <br> <br>|A B C F<br>0 0 0 1<br>0 0 1 1<br>0 1 0 1<br>0 1 1 1<br>1 0 0 1<br>1 0 1 1<br>1 1 0 0<br>1 1 1 1<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from itertools import product", "", "", "def make_brackets(eq):", "", " opers = [\"<=\", \"!=\", \"or\", \"and\"][::-1]", " for op in opers:", " if op in eq:", " parts = eq.split(op)", " else:", " continue", " for i in range(len(parts) - 1):", " if parts[i][-2] in alph:", " parts[i] = parts[i][:-2] + \"(\" + parts[i][-2:]", " else:", " c = 1", " for j in range(len(parts[i]) - 3, -1, -1):", " if parts[i][j] == \")\":", " c += 1", " elif parts[i][j] == \"(\":", " c -= 1", " if not c:", " if j >= 4:", " if parts[i][j - 4:j] == \"not \":", " parts[i] = parts[i][:j - 4] + \"(\" + parts[i][j - 4:] ", " else:", " parts[i] = parts[i][:j] + \"(\" + parts[i][j:]", " break", " ", " if parts[i + 1][1] in alph:", " parts[i + 1] = parts[i + 1][:2] + \")\" + parts[i + 1][2:]", " ", " else:", " if parts[i + 1][1] == \"(\":", " c = 1", " for j in range(2, len(parts[i + 1])):", " if parts[i + 1][j] == \"(\":", " c += 1", " elif parts[i + 1][j] == \")\":", " c -= 1", " if not c:", " parts[i + 1] = parts[i + 1][:j] + \")\" + parts[i + 1][j:]", " break", " ", " elif parts[i + 1][1] == \"n\":", " if parts[i + 1][5] == \"(\":", " for j in range(6, len(parts[i + 1])):", " if parts[i + 1][j] == \"(\":", " c += 1", " elif parts[i + 1][j] == \")\":", " c -= 1", " if not c:", " parts[i + 1] = parts[i + 1][:j] + \")\" + parts[i + 1][j:]", " break", " else:", " parts[i + 1] = parts[i + 1][:6] + \")\" + parts[i + 1][6:]", " ", " eq = op.join(parts)", " return eq", "", "", "alph = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\"", "state = input().replace(\"->\", \"<=\").replace(\"^\", \"!=\").replace(\"~\", \"==\")", "arr = []", "", "for let in alph:", " if let in state:", " arr.append(let)", "", "print(*arr, \"F\")", "", "for elem in product((0, 1), repeat=len(arr)):", " m = []", " buff = arr", " c = 0", " for let in alph:", " if let in buff:", " m.append(elem[c])", " buff = buff[1:]", " c += 1 ", " else:", " m.append(0)", "", " dict = {alph[i].lower(): m[i] for i in range(len(alph))}", " print(*elem, int(eval(make_brackets(state).lower(), {}, dict)))"]}], "metadata": {"kernelspec": {"display_name": "Python 3", "language": "python", "name": "python3"}, "language_info": {"name": "python", "version": "3.11.1"}}, "nbformat": 4, "nbformat_minor": 2} \ No newline at end of file diff --git a/3.4/4.py b/3.4/4.py deleted file mode 100644 index 3386992..0000000 --- a/3.4/4.py +++ /dev/null @@ -1,4 +0,0 @@ -from itertools import accumulate - -for string in accumulate([[i] for i in input().split()]): - print(" ".join(string)) \ No newline at end of file diff --git a/3.4/5.py b/3.4/5.py deleted file mode 100644 index 27a5bfa..0000000 --- a/3.4/5.py +++ /dev/null @@ -1,4 +0,0 @@ -from itertools import chain - -for index, value in enumerate(sorted(chain.from_iterable([input().split(", ") for _ in range(3)])), 1): - print(f"{index}. {value}") \ No newline at end of file diff --git a/3.4/6.py b/3.4/6.py deleted file mode 100644 index bd0721a..0000000 --- a/3.4/6.py +++ /dev/null @@ -1,9 +0,0 @@ -from itertools import product - -types = ["РїРёРє", "треф", "бубен", "червей"] - -majors = ["валет", "дама", "король", "туз"] -m = types.index(input()) - -for a, b in product([str(i) for i in range(2, 11)] + majors, types[:m] + types[m + 1:]): - print(a, b) \ No newline at end of file diff --git a/3.4/7.py b/3.4/7.py deleted file mode 100644 index 4d6dd76..0000000 --- a/3.4/7.py +++ /dev/null @@ -1,6 +0,0 @@ -from itertools import combinations - -people = [input() for _ in range(int(input()))] - -for a, b in combinations(people, 2): - print(f"{a} - {b}") \ No newline at end of file diff --git a/3.4/8.py b/3.4/8.py deleted file mode 100644 index 0b68a77..0000000 --- a/3.4/8.py +++ /dev/null @@ -1,13 +0,0 @@ -from itertools import cycle - -food = [input() for _ in range(int(input()))] - -daysc = int(input()) - -count = 0 -for fd in cycle(food): - if count < daysc: - print(fd) - count += 1 - else: - break \ No newline at end of file diff --git a/3.4/9.py b/3.4/9.py deleted file mode 100644 index f79cddd..0000000 --- a/3.4/9.py +++ /dev/null @@ -1,10 +0,0 @@ -from itertools import product - -n = int(input()) -c = 0 -for a, b in product([i for i in range(1, n + 1)], [i for i in range(1, n + 1)]): - if c % n == 0 and c: - print() - print(a * b, end=" ") - c += 1 -print() \ No newline at end of file diff --git a/3.5/1.py b/3.5/1.py deleted file mode 100644 index 22bffdc..0000000 --- a/3.5/1.py +++ /dev/null @@ -1,7 +0,0 @@ -from sys import stdin - -arr = [] -for line in stdin: - arr += [int(i) for i in line.rstrip("\n").split()] - -print(sum(arr)) \ No newline at end of file diff --git a/3.5/10.py b/3.5/10.py deleted file mode 100644 index 19c91c0..0000000 --- a/3.5/10.py +++ /dev/null @@ -1,12 +0,0 @@ -file_name, n = input(), int(input()) -c = 0 -with open(file_name, "r", encoding="utf-8") as file: - for line in file: - c += 1 - -with open(file_name, "r", encoding="utf-8") as file: - line_number = 0 - for line in file: - line_number += 1 - if line_number > c - n: - print(line, end="") \ No newline at end of file diff --git a/3.5/11.py b/3.5/11.py deleted file mode 100644 index 0ef1b88..0000000 --- a/3.5/11.py +++ /dev/null @@ -1,20 +0,0 @@ -import json - -in_file, js_file = input(), input() -res = {"count": 0, "positive_count": 0, "min": float("inf"), - "max": float("-inf"), "sum": 0, "average": 0} - -with open(in_file, "r", encoding="utf-8")as inp: - for line in inp: - for num in [int(i) for i in line.split()]: - res["count"] += 1 - if num > 0: - res["positive_count"] += 1 - res["min"] = min(res["min"], num) - res["max"] = max(res["max"], num) - res["sum"] += num - -res["average"] = round((res["sum"] / res["count"]), 2) - -with open(js_file, "w", encoding="UTF-8") as js: - json.dump(res, js, ensure_ascii=False, indent=2) \ No newline at end of file diff --git a/3.5/12.py b/3.5/12.py deleted file mode 100644 index c22f553..0000000 --- a/3.5/12.py +++ /dev/null @@ -1,34 +0,0 @@ -def count_even_cif(num): - c = 0 - for i in num: - if int(i) % 2 == 0: - c += 1 - - return c - - -finputname, fevenname, foddname, feqname = [input() for _ in range(4)] - -even, odd, eq = [], [], [] -evenfile = open(fevenname, "w", encoding="utf-8") -oddfile = open(foddname, "w", encoding="utf-8") -eqfile = open(feqname, "w", encoding="utf-8") -with open(finputname, "r", encoding="utf-8")as inputfile: - for line in inputfile: - for num in line.rstrip("\n").split(): - ev = count_even_cif(num) - if len(num) - ev > ev: - odd.append(num) - elif len(num) == 2 * ev: - eq.append(num) - else: - even.append(num) - - evenfile.write(" ".join(even) + "\n") - oddfile.write(" ".join(odd) + "\n") - eqfile.write(" ".join(eq) + "\n") - even, odd, eq = [], [], [] - -evenfile.close() -oddfile.close() -eqfile.close() \ No newline at end of file diff --git a/3.5/13.py b/3.5/13.py deleted file mode 100644 index f58259c..0000000 --- a/3.5/13.py +++ /dev/null @@ -1,17 +0,0 @@ -from sys import stdin -import json - -file_name = input() -d = {} - -for line in stdin: - key, val = line.rstrip().split(" == ") - d[key] = val - -with open(file_name, "r", encoding="UTF-8") as js: - data = json.load(js) - for key, val in d.items(): - data[key] = val - -with open(file_name, "w", encoding="UTF-8") as js: - json.dump(data, js, ensure_ascii=False, indent=2) \ No newline at end of file diff --git a/3.5/14.py b/3.5/14.py deleted file mode 100644 index 9c2e728..0000000 --- a/3.5/14.py +++ /dev/null @@ -1,34 +0,0 @@ -import json - - -jsusersname, jsupdatesname = input(), input() - - -data = [] -with open(jsusersname, "r", encoding="UTF-8") as js: - data = json.load(js) - -newdata = {} -for d in data: - newdata[d["name"]] = {} - for key, val in d.items(): - if key == "name": - continue - newdata[d["name"]][key] = val - -with open(jsupdatesname, "r", encoding="UTF-8") as js: - data = json.load(js) - -for d in data: - name = d["name"] - for key, newval in d.items(): - if key == "name": - continue - if key in newdata[name]: - val = newdata[name][key] - newdata[name][key] = sorted([val, newval], reverse=True)[0] - else: - newdata[name][key] = newval - -with open(jsusersname, "w", encoding="UTF-8") as js: - json.dump(newdata, js, ensure_ascii=False, indent=2) \ No newline at end of file diff --git a/3.5/15.py b/3.5/15.py deleted file mode 100644 index 662a523..0000000 --- a/3.5/15.py +++ /dev/null @@ -1,39 +0,0 @@ -import json -from sys import stdin - - -name = "scoring.json" - -data = [] -with open(name, "r", encoding="utf-8") as js: - data = json.load(js) - -testcnt = 0 -for elem in data: - testcnt += len(elem["tests"]) - -c = 0 -packc = 0 -pointsum = 0 - -d = data[packc] -points = d["points"] -tests = d["tests"] -for line in stdin: - answer = line.rstrip("\n") - if c < len(tests): - if tests[c]["pattern"] == answer: - pointsum += int(points / len(tests)) - c += 1 - else: - packc += 1 - d = data[packc] - points = d["points"] - tests = d["tests"] - c = 0 - if c < len(tests): - if tests[c]["pattern"] == answer: - pointsum += int(points / len(tests)) - c += 1 - -print(pointsum) \ No newline at end of file diff --git a/3.5/16.py b/3.5/16.py deleted file mode 100644 index 9bc112d..0000000 --- a/3.5/16.py +++ /dev/null @@ -1,48 +0,0 @@ -from sys import stdin - - -search_task = input().lower().split() - -filenames = [line.rstrip("\n") for line in stdin] -is_something = False - -for fname in filenames: - - active_searches = [] - ind = 0 - f = False - with open(fname, "r", encoding="utf-8") as file: - for line in file: - for word in line.replace(" ", " ").rstrip("\n").lower().split(): - if not word: - continue - if word == search_task[0]: - active_searches.append([word]) - continue - if active_searches: - for i in range(len(active_searches) - 1, -1, -1): - if len(active_searches[i]) == len(search_task): - f = True - break - elif search_task[len(active_searches[i])] == word: - active_searches[i].append(word) - else: - del active_searches[i] - - if f: - break - - if active_searches: - for i in range(len(active_searches) - 1, -1, -1): - if len(active_searches[i]) == len(search_task): - f = True - break - - if f: - break - if f: - print(fname) - is_something = True - -if not is_something: - print("404. Not Found") \ No newline at end of file diff --git a/3.5/17.py b/3.5/17.py deleted file mode 100644 index 9099976..0000000 --- a/3.5/17.py +++ /dev/null @@ -1,18 +0,0 @@ -fname = "secret.txt" - -with open(fname, "r", encoding="utf-8") as file: - for line in file: - string = line.rstrip("\n") - res = '' - - for char in string: - b = bin(ord(char))[2:] - if len(b) % 8 != 0: - bytenum = len(b) // 8 + 1 - b = "0" * (8 * bytenum - len(b)) + b - if len(b) <= 8: - res += chr(int(b, 2)) - else: - res += chr(int(b[8:], 2)) - - print(res) \ No newline at end of file diff --git a/3.5/18.py b/3.5/18.py deleted file mode 100644 index 11cd6d9..0000000 --- a/3.5/18.py +++ /dev/null @@ -1,15 +0,0 @@ -import os - -types = ["Р‘", "РљР‘", "РњР‘", "ГБ"] -fname = input() -bytessum = 0 -type = 0 -bytessum = os.stat(fname).st_size - -while bytessum >= 1024: - if bytessum == 3: - break - type += 1 - bytessum = bytessum // 1024 + (bytessum % 1024 > 0) - -print(f"{bytessum}{types[type]}") diff --git a/3.5/19.py b/3.5/19.py deleted file mode 100644 index 3e5743c..0000000 --- a/3.5/19.py +++ /dev/null @@ -1,34 +0,0 @@ -inpname = "public.txt" -outname = "private.txt" - -change = int(input()) - -with open(inpname, "r", encoding="utf-8") as inpfile: - with open(outname, "w", encoding="utf-8") as outfile: - for line in inpfile: - s = '' - for c in line: - code = ord(c) - if 65 <= code <= 90: - code += change - if code > 90: - while code > 90: - code = code - 26 - elif code < 65: - while code < 65: - code = 26 + code - c = chr(code) - elif 97 <= code <= 122: - code += change - if code > 122: - while code > 122: - code = code - 26 - elif code < 97: - while code < 97: - code = 26 + code - c = chr(code) - - s += c - outfile.write(s) - - diff --git a/3.5/2.py b/3.5/2.py deleted file mode 100644 index 1a583e0..0000000 --- a/3.5/2.py +++ /dev/null @@ -1,8 +0,0 @@ -from sys import stdin - -high_arr = [] -for line in stdin: - high = [int(i) for i in line.rstrip("\n").split()[1:]] - high_arr.append(high[1] - high[0]) - -print(round(sum(high_arr) / len(high_arr))) \ No newline at end of file diff --git a/3.5/20.py b/3.5/20.py deleted file mode 100644 index c305993..0000000 --- a/3.5/20.py +++ /dev/null @@ -1,9 +0,0 @@ -fname = "numbers.num" - -snum = 0 -with open(fname, "rb") as file: - while (byte := file.read(2)): - snum += int.from_bytes(byte) - -snum = snum % 2**16 -print(snum) \ No newline at end of file diff --git a/3.5/3.py b/3.5/3.py deleted file mode 100644 index 1b6810c..0000000 --- a/3.5/3.py +++ /dev/null @@ -1,6 +0,0 @@ -from sys import stdin - -code = [] -for line in stdin: - if line.find("#") != 0: - print(line[: line.find("#")]) \ No newline at end of file diff --git a/3.5/35.ipynb b/3.5/35.ipynb deleted file mode 100644 index 6a647e2..0000000 --- a/3.5/35.ipynb +++ /dev/null @@ -1 +0,0 @@ -{"cells": [{"cell_type": "markdown", "metadata": {}, "source": ["## **A+B+...**", "\u041d\u0430\u043a\u043e\u043d\u0435\u0446-\u0442\u043e \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435, \u043d\u0435 \u0438\u043c\u0435\u044f \u043d\u0438 \u043c\u0430\u043b\u0435\u0439\u0448\u0435\u0433\u043e \u043f\u043e\u043d\u044f\u0442\u0438\u044f \u043e\u0431 \u0438\u0445 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0435.<br><br>\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043d\u0430\u0445\u043e\u0434\u0438\u0442 \u0441\u0443\u043c\u043c\u0443 \u0432\u0441\u0435\u0445 \u0447\u0438\u0441\u0435\u043b \u0432\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u0447\u0438\u0441\u0435\u043b.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u041e\u0434\u043d\u043e \u0447\u0438\u0441\u043b\u043e \u2014 \u0441\u0443\u043c\u043c\u0430 \u0432\u0441\u0435\u0445 \u0447\u0438\u0441\u0435\u043b \u0432 \u043f\u043e\u0442\u043e\u043a\u0435 \u0432\u0432\u043e\u0434\u0430.", "### **\u041f\u0440\u0438\u043c\u0435\u0440**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|1 2<br>3 4 5<br>6<br>7 8 9 10<br>|55<br> <br> <br> <br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from sys import stdin", "", "arr = []", "for line in stdin:", " arr += [int(i) for i in line.rstrip(\"\\n\").split()]", "", "print(sum(arr))"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0421\u0440\u0435\u0434\u043d\u0438\u0439 \u0440\u043e\u0441\u0442**", "\u0423\u0447\u0438\u0442\u0435\u043b\u044c \u0444\u0438\u0437\u043a\u0443\u043b\u044c\u0442\u0443\u0440\u044b \u0437\u0430\u0434\u0430\u043b\u0441\u044f \u0432\u043e\u043f\u0440\u043e\u0441\u043e\u043c, \u043d\u0430 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0432 \u0441\u0440\u0435\u0434\u043d\u0435\u043c \u0435\u0433\u043e \u043f\u043e\u0434\u043e\u043f\u0435\u0447\u043d\u044b\u0435 \u0432\u044b\u0440\u043e\u0441\u043b\u0438 \u0437\u0430 \u043f\u0440\u043e\u0448\u0435\u0434\u0448\u0438\u0439 \u043c\u0435\u0441\u044f\u0446.<br><br>\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u043d\u0430 \u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u0437\u043c\u0435\u043d\u0438\u043b\u0441\u044f \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u0440\u043e\u0441\u0442 \u0443\u0447\u0435\u043d\u0438\u043a\u043e\u0432 \u0432 \u043a\u043b\u0430\u0441\u0441\u0435.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0434\u0435\u0442\u044f\u0445 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435:", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u041e\u0434\u043d\u043e \u0447\u0438\u0441\u043b\u043e \u2014 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441 \u0437\u0430\u0434\u0430\u0447\u0438.<br>\u041e\u0442\u0432\u0435\u0442 \u043e\u043a\u0440\u0443\u0433\u043b\u0438\u0442\u0435 \u0434\u043e \u0446\u0435\u043b\u044b\u0445. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 round.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|\u0410\u043d\u044f 160 162<br>\u0411\u043e\u0440\u044f 165 172<br>\u0412\u043e\u0432\u0430 165 165<br>|3<br> <br> <br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|\u0410\u043d\u044f 161 165<br>\u0411\u043e\u0440\u044f 167 172<br>\u0412\u043e\u0432\u0430 165 166<br>\u0414\u0438\u043c\u0430 173 178<br>|4<br> <br> <br> <br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from sys import stdin", "", "high_arr = []", "for line in stdin:", " high = [int(i) for i in line.rstrip(\"\\n\").split()[1:]]", " high_arr.append(high[1] - high[0])", "", "print(round(sum(high_arr) / len(high_arr)))"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0411\u0435\u0437 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432 2.0**", "\u041a\u0430\u043a \u0432\u044b \u043f\u043e\u043c\u043d\u0438\u0442\u0435, \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u0443\u0435\u0442\u0435 \u0441\u0432\u043e\u0439 \u043a\u043e\u0434, \u043f\u0435\u0440\u0435\u0434 \u0435\u0433\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440 \u0443\u0434\u0430\u043b\u044f\u0435\u0442 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438.<br>\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442 \u0434\u0430\u043d\u043d\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0437\u0430 \u0438\u043d\u0442\u0435\u0440\u043f\u0440\u0435\u0442\u0430\u0442\u043e\u0440.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u041a\u0430\u0436\u0434\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u043d\u0443\u0436\u043d\u043e \u043e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u043e\u0442 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u0432.<br>\u0410 \u0435\u0441\u043b\u0438 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u2014 \u0432\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0430, \u0442\u043e \u0432\u044b\u0432\u043e\u0434\u0438\u0442\u044c \u0435\u0451 \u043d\u0435 \u043d\u0443\u0436\u043d\u043e.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|# \u041c\u043e\u044f \u043f\u0435\u0440\u0432\u0430\u044f \u0441\u0443\u043f\u0435\u0440-\u043f\u0443\u043f\u0435\u0440 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430<br>print(\"What is your name?\") # \u041a\u0430\u043a \u0442\u0435\u0431\u044f \u0437\u043e\u0432\u0443\u0442?<br>name = input() # \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0438\u043c\u044f<br>print(f\"Hello, {name}!\") # \u0417\u0434\u043e\u0440\u043e\u0432\u0430\u0435\u043c\u0441\u044f# \u041a\u043e\u043d\u0435\u0446 \u043c\u043e\u0435\u0439 \u0441\u0443\u043f\u0435\u0440-\u043f\u0443\u043f\u0435\u0440 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b<br>|print(\"What is your name?\")<br>name = input()<br>print(f\"Hello, {name}!\")<br> <br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|# \u041c\u043e\u0439 \u043f\u0435\u0440\u0432\u044b\u0439 \u0446\u0438\u043a\u043b<br>for i in range(10): # \u0421\u0447\u0438\u0442\u0430\u0435\u043c \u0434\u043e 10<br> print(i) # \u0432\u044b\u0432\u043e\u0434\u0438\u043c \u0447\u0438\u0441\u043b\u043e<br>|for i in range(10):<br> print(i)<br> <br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from sys import stdin", "", "code = []", "for line in stdin:", " if line.find(\"#\") != 0:", " print(line[: line.find(\"#\")])"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u041d\u0430\u0439\u0434\u0451\u0442\u0441\u044f \u0432\u0441\u0451 2.0**", "\u041f\u043e\u0438\u0441\u043a \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u2014 \u0432\u0430\u0436\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0436\u0438\u0437\u043d\u0438. \u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446.<br>\u0412 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043d \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0412\u044b\u0432\u0435\u0441\u0442\u0438 \u0432\u0441\u0435 \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438 \u0441\u0442\u0440\u0430\u043d\u0438\u0446, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441 (\u0440\u0435\u0433\u0438\u0441\u0442\u0440 \u043d\u0435 \u0438\u043c\u0435\u0435\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f).<br>\u041f\u043e\u0440\u044f\u0434\u043e\u043a \u0437\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u043e\u0432 \u0434\u043e\u043b\u0436\u0435\u043d \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c\u0441\u044f.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|\u042f\u043d\u0434\u0435\u043a\u0441 \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b \u0437\u0430\u0434\u0430\u0447\u043d\u0438\u043a \u043f\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e<br>\u041d\u0430 \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u044f\u0445 \u043f\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043f\u043e\u0431\u0435\u0434\u0438\u043b \u043b\u044e\u0431\u0438\u0442\u0435\u043b\u044c \u043f\u0438\u0442\u043e\u043d\u0430<br>\u041a\u0430\u043a \u0437\u0430\u043a\u0430\u0437\u0430\u0442\u044c \u042f\u043d\u0434\u0435\u043a\u0441.\u0422\u0430\u043a\u0441\u0438?!<br>\u044f\u043d\u0434\u0435\u043a\u0441<br>|\u042f\u043d\u0434\u0435\u043a\u0441 \u0432\u044b\u043f\u0443\u0441\u0442\u0438\u043b \u0437\u0430\u0434\u0430\u0447\u043d\u0438\u043a \u043f\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e<br>\u041a\u0430\u043a \u0437\u0430\u043a\u0430\u0437\u0430\u0442\u044c \u042f\u043d\u0434\u0435\u043a\u0441.\u0422\u0430\u043a\u0441\u0438?!<br> <br> <br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|\u0441\u0435\u0440\u0438\u0430\u043b \u0448\u0435\u0440\u043b\u043e\u043a \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043e\u043d\u043b\u0430\u0439\u043d<br>\u0443\u0447\u0435\u0431\u043d\u0438\u043a \u043f\u0438\u0442\u043e\u043d\u0430<br>\u043c\u0435\u043c\u044b<br>\u0441\u043e\u0446\u0438\u0430\u043b\u044c\u043d\u0430\u044f \u0441\u0435\u0442\u044c<br>\u0443\u043f\u0440\u0430\u0436\u043d\u0435\u043d\u0438\u044f \u043f\u043e \u043f\u0438\u0442\u043e\u043d\u0443<br>\u043a\u043e\u0440\u043c\u043e\u0432\u044b\u0435 \u043c\u044b\u0448\u0438 \u0434\u043b\u044f \u043f\u0438\u0442\u043e\u043d\u043e\u0432<br>\u043e\u0442\u0432\u0435\u0442\u044b \u0435\u0433\u044d \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e<br>\u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440\u043d\u044b\u0435 \u043c\u044b\u0448\u0438<br>\u043f\u0438\u0442\u043e\u043d<br>|\u0443\u0447\u0435\u0431\u043d\u0438\u043a \u043f\u0438\u0442\u043e\u043d\u0430<br>\u0443\u043f\u0440\u0430\u0436\u043d\u0435\u043d\u0438\u044f \u043f\u043e \u043f\u0438\u0442\u043e\u043d\u0443<br>\u043a\u043e\u0440\u043c\u043e\u0432\u044b\u0435 \u043c\u044b\u0448\u0438 \u0434\u043b\u044f \u043f\u0438\u0442\u043e\u043d\u043e\u0432<br> <br> <br> <br> <br> <br> <br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from sys import stdin", "", "sentences = []", "for line in stdin:", " sentences.append(line.rstrip(\"\\n\"))", "", "search = sentences.pop(-1)", "res = []", "", "for sen in sentences:", " if search.lower() in sen.lower():", " res.append(sen)", "", "print(*res, sep=\"\\n\")"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0410 \u0440\u043e\u0437\u0430 \u0443\u043f\u0430\u043b\u0430 \u043d\u0430 \u043b\u0430\u043f\u0443 \u0410\u0437\u043e\u0440\u0430 6.0**", "\u041c\u044b \u0443\u0436\u0435 \u043f\u0438\u0441\u0430\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u043b\u0438, \u0430 \u043f\u0430\u043b\u0438\u043d\u0434\u0440\u043e\u043c \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u043c\u0438 \u0438\u043b\u0438 \u043d\u0435\u0442.<br>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0442\u0435\u043f\u0435\u0440\u044c \u043d\u0430\u0439\u0434\u0451\u043c \u0432\u0441\u0435 \u0441\u043b\u043e\u0432\u0430-\u043f\u0430\u043b\u0438\u043d\u0434\u0440\u043e\u043c\u044b \u0441\u0440\u0435\u0434\u0438 \u0432\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0445 \u0441\u0442\u0440\u043e\u043a.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u0441\u043b\u043e\u0432\u0430.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0421\u043f\u0438\u0441\u043e\u043a \u0441\u043b\u043e\u0432-\u043f\u0430\u043b\u0438\u043d\u0434\u0440\u043e\u043c\u043e\u0432 \u0432 \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0431\u0435\u0437 \u043f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u0439.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u041f\u0440\u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0435 \u0441\u043b\u043e\u0432 \u043d\u0435 \u043e\u0431\u0440\u0430\u0449\u0430\u0439\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440.", "### **\u041f\u0440\u0438\u043c\u0435\u0440**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|\u0410\u043d\u043d\u0430 \u0411\u043e\u0440\u044f \u0412\u043e\u0432\u0430<br>\u042f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u044f\u044f \u0431\u0443\u043a\u0432\u0430 \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u0430<br>\u0414\u0435\u0434 \u0441\u0442\u0440\u043e\u0438\u0442 \u0448\u0430\u043b\u0430\u0448<br>\u0428\u0430\u043b\u0430\u0448 \u0431\u044b\u043b \u0445\u043e\u0440\u043e\u0448<br>\u0414\u0435\u0434 \u0441\u043b\u044b\u0448\u0438\u0442 \u0442\u043e\u043f\u043e\u0442<br>\u0410\u0440\u0430 \u0437\u0430\u043b\u0435\u0442\u0435\u043b \u0432 \u0448\u0430\u043b\u0430\u0448<br> <br> <br>|\u0410\u043d\u043d\u0430<br>\u0410\u0440\u0430<br>\u0414\u0435\u0434<br>\u0428\u0430\u043b\u0430\u0448<br>\u042f<br>\u0432<br>\u0442\u043e\u043f\u043e\u0442<br>\u0448\u0430\u043b\u0430\u0448<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from sys import stdin", "", "res = set()", "for line in stdin:", " for word in line.rstrip(\"\\n\").split():", " if word.lower() == word[::-1].lower():", " res.add(word)", "", "print(*sorted(list(res)), sep=\"\\n\")"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0422\u0440\u0430\u043d\u0441\u043b\u0438\u0442\u0435\u0440\u0430\u0446\u0438\u044f 2.0**", "\u0414\u043b\u044f \u043c\u0435\u0436\u0434\u0443\u043d\u0430\u0440\u043e\u0434\u043d\u044b\u0445 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0440\u0443\u0441\u0441\u043a\u0438\u0439 \u0442\u0435\u043a\u0441\u0442 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u0442\u0441\u044f \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043b\u0430\u0442\u0438\u043d\u0441\u043a\u043e\u0433\u043e \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u0430. \u0413\u041e\u0421\u0422 \u0420 52535.1-2006 \u0437\u0430\u0434\u0430\u0451\u0442 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u043a\u0430\u0440\u0442.<br>\u041d\u0438\u0436\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430 \u0437\u0430\u043c\u0435\u043d:<br>", "\u0410 \u2014 A<br>\u0411 \u2014 B<br>\u0412 \u2014 V<br>\u0413 \u2014 G<br>\u0414 \u2014 D<br>\u0415 \u2014 E<br>\u0401 \u2014 E<br>\u0416 \u2014 ZH<br>\u0417 \u2014 Z<br>\u0418 \u2014 I<br>\u0419 \u2014 I<br>\u041a \u2014 K<br>\u041b \u2014 L<br>\u041c \u2014 M<br>\u041d \u2014 N<br>\u041e \u2014 O<br>\u041f \u2014 P<br>\u0420 \u2014 R<br>\u0421 \u2014 S<br>\u0422 \u2014 T<br>\u0423 \u2014 U<br>\u0424 \u2014 F<br>\u0425 \u2014 KH<br>\u0426 \u2014 TC<br>\u0427 \u2014 CH<br>\u0428 \u2014 SH<br>\u0429 \u2014 SHCH<br>\u042b \u2014 Y<br>\u042d \u2014 E<br>\u042e \u2014 IU<br>\u042f \u2014 IA<br>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0442\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u0440\u0443\u0441\u0441\u043a\u0438\u0439 \u0442\u0435\u043a\u0441\u0442.<br>\u0411\u0443\u043a\u0432\u0443 \u00ab\u0451\u00bb \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0442\u0435\u0440\u0438\u0440\u0443\u0439\u0442\u0435 \u043a\u0430\u043a \u00abe\u00bb, \u00ab\u0439\u00bb \u043a\u0430\u043a \u00ab\u0438\u00bb, \u0430 \u00ab\u044a\u00bb \u0438 \u00ab\u044c\u00bb (\u0438 \u0438\u0445 \u0437\u0430\u0433\u043b\u0430\u0432\u043d\u044b\u0435 \u0432\u0435\u0440\u0441\u0438\u0438 \u00ab\u042a\u00bb \u0438 \u00ab\u042c\u00bb) \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u0441\u0447\u0435\u0437\u043d\u0443\u0442\u044c \u0438\u0437 \u0442\u0435\u043a\u0441\u0442\u0430. \u0421\u0442\u0440\u043e\u0447\u043d\u044b\u0435 \u0431\u0443\u043a\u0432\u044b \u0437\u0430\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0441\u0442\u0440\u043e\u0447\u043d\u044b\u0435, \u0437\u0430\u0433\u043b\u0430\u0432\u043d\u044b\u0435 \u0437\u0430\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u043d\u0430 \u0437\u0430\u0433\u043b\u0430\u0432\u043d\u044b\u0435. \u0415\u0441\u043b\u0438 \u0437\u0430\u0433\u043b\u0430\u0432\u043d\u0430\u044f \u0431\u0443\u043a\u0432\u0430 \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u0432 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u0443\u043a\u0432, \u0442\u043e \u0437\u0430\u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0434\u043e\u043b\u0436\u043d\u0430 \u043e\u0441\u0442\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0432\u0430\u044f \u0438\u0437 \u043d\u0438\u0445 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u00ab\u0426\u00bb \u2192 \u00abTc\u00bb). \u0412\u0441\u0435 \u043d\u0435\u043a\u0438\u0440\u0438\u043b\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043e\u0441\u0442\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u043c\u0435\u0441\u0442\u0435.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412 \u043e\u0434\u043d\u043e\u0439 \u043f\u0430\u043f\u043a\u0435 \u0441 \u0432\u0430\u0448\u0435\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439 \u043b\u0435\u0436\u0438\u0442 \u0444\u0430\u0439\u043b cyrillic.txt. \u0412 \u043d\u0451\u043c, \u0432 \u0447\u0438\u0441\u043b\u0435 \u043f\u0440\u043e\u0447\u0438\u0445, \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u0438\u0440\u0438\u043b\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0412 \u0444\u0430\u0439\u043b transliteration.txt \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|\u041f\u0440\u0438\u0432\u0435\u0442, \u043c\u0438\u0440!<br>|Privet, mir!<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|\u042f \u043f\u043e\u043c\u043d\u044e \u0447\u0443\u0434\u043d\u043e\u0435 \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u044c\u0435: \u041f\u0435\u0440\u0435\u0434\u043e \u043c\u043d\u043e\u0439 \u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0442\u044b, \u041a\u0430\u043a \u043c\u0438\u043c\u043e\u043b\u0435\u0442\u043d\u043e\u0435 \u0432\u0438\u0434\u0435\u043d\u044c\u0435, \u041a\u0430\u043a \u0433\u0435\u043d\u0438\u0439 \u0447\u0438\u0441\u0442\u043e\u0439 \u043a\u0440\u0430\u0441\u043e\u0442\u044b.<br>|Ia pomniu chudnoe mgnovene: Peredo mnoi iavilas ty, Kak mimoletnoe videne, Kak genii chistoi krasoty.<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["d = {", " '\u0410': 'A',", " '\u0430': 'a',", " '\u0411': 'B',", " '\u0431': 'b',", " '\u0412': 'V',", " '\u0432': 'v',", " '\u0413': 'G',", " '\u0433': 'g',", " '\u0414': 'D',", " '\u0434': 'd',", " '\u0415': 'E',", " '\u0435': 'e',", " '\u0401': 'E',", " '\u0451': 'e',", " '\u0416': 'Zh',", " '\u0436': 'zh',", " '\u0417': 'Z',", " '\u0437': 'z',", " '\u0418': 'I',", " '\u0438': 'i',", " '\u0419': 'I',", " '\u0439': 'i',", " '\u041a': 'K',", " '\u043a': 'k',", " '\u041b': 'L',", " '\u043b': 'l',", " '\u041c': 'M',", " '\u043c': 'm',", " '\u041d': 'N',", " '\u043d': 'n',", " '\u041e': 'O',", " '\u043e': 'o',", " '\u041f': 'P',", " '\u043f': 'p',", " '\u0420': 'R',", " '\u0440': 'r',", " '\u0421': 'S',", " '\u0441': 's',", " '\u0422': 'T',", " '\u0442': 't',", " '\u0423': 'U',", " '\u0443': 'u',", " '\u0424': 'F',", " '\u0444': 'f',", " '\u0425': 'Kh',", " '\u0445': 'kh',", " '\u0426': 'Tc',", " '\u0446': 'tc',", " '\u0427': 'Ch',", " '\u0447': 'ch',", " '\u0428': 'Sh',", " '\u0448': 'sh',", " '\u0429': 'Shch',", " '\u0449': 'shch',", " '\u042b': 'Y',", " '\u044b': 'y',", " '\u042d': 'E',", " '\u044d': 'e',", " '\u042e': 'Iu',", " '\u044e': 'iu',", " '\u042f': 'Ia',", " '\u044f': 'ia'", "}", "string = \"\"", "with open(\"cyrillic.txt\", \"r\", encoding=\"utf-8\") as input_file:", " with open(\"transliteration.txt\", \"w\", encoding=\"utf-8\") as output_file:", " for line in input_file:", " string = line", " new_string = \"\"", " for i in string: ", " if i in d.keys():", " new_string += d[i]", " elif i.lower() in [\"\u044c\", \"\u044a\"]:", " continue", " else:", " new_string += i", " output_file.write(new_string)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0424\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430**", "\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u043b\u044f \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:<br>", "* \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0441\u0435\u0445 \u0447\u0438\u0441\u0435\u043b;", "* \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b;", "* \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e;", "* \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e;", "* \u0441\u0443\u043c\u043c\u0430 \u0432\u0441\u0435\u0445 \u0447\u0438\u0441\u0435\u043b;", "* \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u0441\u0435\u0445 \u0447\u0438\u0441\u0435\u043b \u0441 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u0434\u043e \u0434\u0432\u0443\u0445 \u0437\u043d\u0430\u043a\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u044f\u0442\u043e\u0439.", "", "", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u0432\u043e\u0434\u0438\u0442 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430.<br>\u0424\u0430\u0439\u043b \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0447\u0438\u0441\u0435\u043b, \u0440\u0430\u0437\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u0435\u043b\u0430\u043c\u0438 \u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u043c\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u0442\u0440\u043e\u043a\u0438.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0412\u044b\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435.", "### **\u041f\u0440\u0438\u043c\u0435\u0440**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|# \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0432\u0432\u043e\u0434:<br>numbers.txt<br><br># \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 numbers.txt<br>1 2 3 4 5<br>-5 -4 -3 -2 -1<br>10 20<br>20 10<br>|14<br>9<br>-5<br>20<br>60<br>4.29<br> <br> <br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["file_name = input()", "", "data = []", "with open(file_name, \"r\", encoding=\"utf-8\") as file:", " for line in file:", " data += [int(i) for i in line.rstrip(\"\\n\").split()]", "", "print(len(data))", "print(len([i for i in data if i > 0]))", "print(min(data))", "print(max(data))", "print(sum(data))", "print(round(sum(data) / len(data), 2))"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0424\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0440\u0430\u0437\u043d\u0438\u0446\u0430**", "\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u043a\u0430\u043a\u0438\u0435 \u0441\u043b\u043e\u0432\u0430 \u0435\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0444\u0430\u0439\u043b\u043e\u0432.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u0432\u043e\u0434\u0438\u0442 \u0442\u0440\u0438 \u0438\u043c\u0435\u043d\u0438 \u0444\u0430\u0439\u043b\u043e\u0432.<br>\u041a\u0430\u0436\u0434\u044b\u0439 \u0438\u0437 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0444\u0430\u0439\u043b\u043e\u0432 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043b\u043e\u0432, \u0440\u0430\u0437\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u0435\u043b\u0430\u043c\u0438 \u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u043c\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u0442\u0440\u043e\u043a\u0438.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0412 \u0442\u0440\u0435\u0442\u0438\u0439 \u0444\u0430\u0439\u043b \u0432\u044b\u0432\u0435\u0434\u0438\u0442\u0435 \u0432 \u0430\u043b\u0444\u0430\u0432\u0438\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u0435 \u0431\u0435\u0437 \u043f\u043e\u0432\u0442\u043e\u0440\u0435\u043d\u0438\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u043b\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0435\u0441\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043e\u0434\u043d\u043e\u043c \u0438\u0437 \u0444\u0430\u0439\u043b\u043e\u0432.", "### **\u041f\u0440\u0438\u043c\u0435\u0440**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|# \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0432\u0432\u043e\u0434:<br>first.txt<br>second.txt<br>answer.txt<br><br># \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 first.txt<br>\u043a\u043e\u0444\u0435 \u043c\u043e\u043b\u043e\u043a\u043e<br>\u0447\u0430\u0439 \u043f\u0435\u0447\u0435\u043d\u044c\u0435<br>\u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434<br><br># \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 second.txt<br>\u043a\u043e\u0444\u0435 \u0432\u0435\u043b\u043e\u0441\u0438\u043f\u0435\u0434<br>\u043f\u0440\u044f\u043d\u0438\u043a \u0436\u0432\u0430\u0447\u043a\u0430 \u0432\u0435\u0441\u043b\u043e<br><br>|# \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 answer.txt<br>\u0432\u0435\u0441\u043b\u043e<br>\u0436\u0432\u0430\u0447\u043a\u0430<br>\u043c\u043e\u043b\u043e\u043a\u043e<br>\u043f\u0435\u0447\u0435\u043d\u044c\u0435<br>\u043f\u0440\u044f\u043d\u0438\u043a<br>\u0447\u0430\u0439<br> <br> <br> <br> <br> <br> <br> <br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["file1_name, file2_name = input(), input()", "fileres_name = input()", "set1, set2 = set(), set()", "", "with open(file1_name, \"r\", encoding=\"utf-8\") as file1:", " for line in file1:", " for word in line.rstrip(\"\\n\").split():", " set1.add(word)", "", "with open(file2_name, \"r\", encoding=\"utf-8\") as file2:", " for line in file2:", " for word in line.rstrip(\"\\n\").split():", " set2.add(word)", "", "res = sorted(list(set1 ^ set2))", "", "with open(fileres_name, \"w+\", encoding=\"utf-8\") as fileres:", " for elem in res:", " fileres.write(f\"{elem}\\n\")"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0424\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0447\u0438\u0441\u0442\u043a\u0430**", "Python \u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432\u044b\u0439 \u044f\u0437\u044b\u043a. \u0422\u0430\u043a\u0438\u0435 \u044f\u0437\u044b\u043a\u0438 \u0447\u0430\u0441\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u044b\u0445 \u0443\u0442\u0438\u043b\u0438\u0442.<br><br>\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0441\u0442\u0443\u044e \u0443\u0442\u0438\u043b\u0438\u0442\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0447\u0438\u0449\u0430\u0435\u0442 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u043e\u0442:<br>", "* \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0445\u0441\u044f \u043f\u0440\u043e\u0431\u0435\u043b\u043e\u0432;", "* \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0445\u0441\u044f \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u0442\u0440\u043e\u043a\u0438;", "* \u0442\u0430\u0431\u0443\u043b\u044f\u0446\u0438\u0439,", "* \u0438\u0437\u043b\u0438\u0448\u043d\u0438\u0445 \u043f\u0440\u043e\u0431\u0435\u043b\u043e\u0432 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0438 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0440\u043e\u043a.", "", "", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u0432\u043e\u0434\u0438\u0442 \u0434\u0432\u0430 \u0438\u043c\u0435\u043d\u0438 \u0444\u0430\u0439\u043b\u043e\u0432.<br>\u0412\u0445\u043e\u0434\u043d\u043e\u0439 \u0444\u0430\u0439\u043b \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043d\u0435\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0439 \u0434\u043b\u0438\u043d\u044b.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0444\u0430\u0439\u043b \u0432\u044b\u0432\u0435\u0434\u0438\u0442\u0435 \u043e\u0447\u0438\u0449\u0435\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442.", "### **\u041f\u0440\u0438\u043c\u0435\u0440**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|# \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0432\u0432\u043e\u0434:<br>first.txt<br>second.txt<br><br># \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 first.txt<br> \u043e\u0447\u0435\u043d\u044c \t\t \u043f\u043b\u043e\u0445\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442<br><br><br>\u043d\u0443\t\t\u043d\u0443\t<br>\u043f\u0440\u044f\u043c\u043e<br><br>\u043e\u0447\u0435\u043d\u044c-\u043e\u0447\u0435\u043d\u044c<br><br>\t<br>|# \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 second.txt<br>\u043e\u0447\u0435\u043d\u044c \u043f\u043b\u043e\u0445\u043e \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442<br>\u043d\u0443\u043d\u0443<br>\u043f\u0440\u044f\u043c\u043e<br>\u043e\u0447\u0435\u043d\u044c-\u043e\u0447\u0435\u043d\u044c<br> <br> <br> <br> <br> <br> <br> <br> <br> <br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["first_file_name, second_file_name = input(), input()", "", "with open(first_file_name, \"r\", encoding=\"utf-8\") as first_file:", " with open(second_file_name, \"w\", encoding=\"utf-8\") as second_file:", " for line in first_file:", " string = line.rstrip(\"\\n\")", " if not string:", " continue", " if \"\\t\" in string:", " while \"\\t\" in string:", " ind = string.index(\"\\t\")", " string = string[:ind] + string[ind + 1:]", " words = string.split()", " string = \" \".join(words)", " second_file.write(string + \"\\n\")"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0425\u0432\u043e\u0441\u0442**", "\u0412 \u0441\u0435\u043c\u0435\u0439\u0441\u0442\u0432\u0435 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0445 \u0441\u0438\u0441\u0442\u0435\u043c Linux \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043e\u0434\u043d\u0430 \u043f\u0440\u0435\u043a\u0440\u0430\u0441\u043d\u0430\u044f \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u0430\u044f \u0443\u0442\u0438\u043b\u0438\u0442\u0430 \u2014 tail. \u041e\u043d\u0430 \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d\u0430 \u0434\u043b\u044f \u0441\u043b\u0443\u0447\u0430\u0435\u0432, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u0447\u0438\u0442\u0430\u0442\u044c \u0432\u0435\u0441\u044c \u0444\u0430\u0439\u043b, \u0430 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0441\u0442\u0440\u043e\u043a.<br><br>\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0430\u043d\u0430\u043b\u043e\u0433 \u044d\u0442\u043e\u0439 \u0443\u0442\u0438\u043b\u0438\u0442\u044b.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u0432\u043e\u0434\u0438\u0442 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430 ( <br>F<br> F), \u0430 \u0437\u0430\u0442\u0435\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0440\u043e\u043a ( <br>N<br> N), \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043e\u043d \u0445\u043e\u0447\u0435\u0442 \u0443\u0432\u0438\u0434\u0435\u0442\u044c.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0412\u044b\u0432\u0435\u0434\u0438\u0442\u0435 <br>N<br> N \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0445 \u0441\u0442\u0440\u043e\u043a \u0444\u0430\u0439\u043b\u0430 <br>F<br> F.", "### **\u041f\u0440\u0438\u043c\u0435\u0440**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|# \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0432\u0432\u043e\u0434:<br>some_file.txt<br>2<br><br># \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 some_file.txt<br>1 \u0441\u0442\u0440\u043e\u043a\u0430<br>2 \u0441\u0442\u0440\u043e\u043a\u0430<br>3 \u0441\u0442\u0440\u043e\u043a\u0430<br>4 \u0441\u0442\u0440\u043e\u043a\u0430<br>5 \u0441\u0442\u0440\u043e\u043a\u0430<br>|4 \u0441\u0442\u0440\u043e\u043a\u0430<br>5 \u0441\u0442\u0440\u043e\u043a\u0430<br> <br> <br> <br> <br> <br> <br> <br> <br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["file_name, n = input(), int(input())", "c = 0", "with open(file_name, \"r\", encoding=\"utf-8\") as file:", " for line in file:", " c += 1", "", "with open(file_name, \"r\", encoding=\"utf-8\") as file:", " line_number = 0", " for line in file:", " line_number += 1", " if line_number > c - n:", " print(line, end=\"\")"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0424\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0430 2.0**", "\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0434\u043b\u044f \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:<br>", "* \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0441\u0435\u0445 \u0447\u0438\u0441\u0435\u043b;", "* \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b;", "* \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e;", "* \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e;", "* \u0441\u0443\u043c\u043c\u0430 \u0432\u0441\u0435\u0445 \u0447\u0438\u0441\u0435\u043b;", "* \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u0441\u0435\u0445 \u0447\u0438\u0441\u0435\u043b \u0441 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u0434\u043e \u0434\u0432\u0443\u0445 \u0437\u043d\u0430\u043a\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u044f\u0442\u043e\u0439.", "", "", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u0432\u043e\u0434\u0438\u0442 \u0434\u0432\u0430 \u0438\u043c\u0435\u043d\u0438 \u0444\u0430\u0439\u043b\u0430.<br>\u041f\u0435\u0440\u0432\u044b\u0439 \u0444\u0430\u0439\u043b \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0447\u0438\u0441\u0435\u043b, \u0440\u0430\u0437\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u0435\u043b\u0430\u043c\u0438 \u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u043c\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u0442\u0440\u043e\u043a\u0438.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0412\u044b\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0444\u0430\u0439\u043b \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 JSON.<br><br>\u041a\u043b\u044e\u0447\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u0437\u0430\u0434\u0430\u0439\u0442\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e:<br>", "* count \u2014 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0432\u0441\u0435\u0445 \u0447\u0438\u0441\u0435\u043b;", "* positive_count \u2014 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b;", "* min \u2014 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e;", "* max \u2014 \u043c\u0430\u043a\u0441\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e;", "* sum \u2014 \u0441\u0443\u043c\u043c\u0430 \u0432\u0441\u0435\u0445 \u0447\u0438\u0441\u0435\u043b;", "* average \u2014 \u0441\u0440\u0435\u0434\u043d\u0435\u0435 \u0430\u0440\u0438\u0444\u043c\u0435\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0432\u0441\u0435\u0445 \u0447\u0438\u0441\u0435\u043b \u0441 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u0434\u043e \u0434\u0432\u0443\u0445 \u0437\u043d\u0430\u043a\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u044f\u0442\u043e\u0439.", "", "", "### **\u041f\u0440\u0438\u043c\u0435\u0440**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|# \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0432\u0432\u043e\u0434:<br>numbers.txt<br>statistics.json<br><br># \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 numbers.txt<br>1 2 3 4 5<br>-5 -4 -3 -2 -1<br>10 20<br>20 10<br>|# \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 statistics.json<br>{<br> \"count\": 14,<br> \"positive_count\": 9,<br> \"min\": -5,<br> \"max\": 20,<br> \"sum\": 60,<br> \"average\": 4.29<br>}<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["import json", "", "in_file, js_file = input(), input()", "res = {\"count\": 0, \"positive_count\": 0, \"min\": float(\"inf\"),", " \"max\": float(\"-inf\"), \"sum\": 0, \"average\": 0}", "", "with open(in_file, \"r\", encoding=\"utf-8\")as inp:", " for line in inp:", " for num in [int(i) for i in line.split()]:", " res[\"count\"] += 1", " if num > 0:", " res[\"positive_count\"] += 1", " res[\"min\"] = min(res[\"min\"], num)", " res[\"max\"] = max(res[\"max\"], num)", " res[\"sum\"] += num", "", "res[\"average\"] = round((res[\"sum\"] / res[\"count\"]), 2)", "", "with open(js_file, \"w\", encoding=\"UTF-8\") as js:", " json.dump(res, js, ensure_ascii=False, indent=2)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0420\u0430\u0437\u0434\u0435\u043b\u044f\u0439 \u0438 \u0432\u043b\u0430\u0441\u0442\u0432\u0443\u0439**", "\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0443\u0442\u0438\u043b\u0438\u0442\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0435\u0442 \u0447\u0438\u0441\u043b\u0430, \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0432 \u0444\u0430\u0439\u043b\u0435, \u043d\u0430 \u0442\u0440\u0438 \u0433\u0440\u0443\u043f\u043f\u044b:<br>", "* \u0447\u0438\u0441\u043b\u0430 \u0441 \u043f\u0440\u0435\u043e\u0431\u043b\u0430\u0434\u0430\u044e\u0449\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0447\u0451\u0442\u043d\u044b\u0445 \u0446\u0438\u0444\u0440;", "* \u0447\u0438\u0441\u043b\u0430 \u0441 \u043f\u0440\u0435\u043e\u0431\u043b\u0430\u0434\u0430\u044e\u0449\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u043d\u0435\u0447\u0451\u0442\u043d\u044b\u0445 \u0446\u0438\u0444\u0440;", "* \u0447\u0438\u0441\u043b\u0430 \u0441 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0447\u0451\u0442\u043d\u044b\u0445 \u0438 \u043d\u0435\u0447\u0451\u0442\u043d\u044b\u0445 \u0446\u0438\u0444\u0440.", "", "", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u0432\u043e\u0434\u0438\u0442 \u0447\u0435\u0442\u044b\u0440\u0435 \u0438\u043c\u0435\u043d\u0438 \u0444\u0430\u0439\u043b\u0430.<br>\u041f\u0435\u0440\u0432\u044b\u0439 \u0444\u0430\u0439\u043b \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0447\u0438\u0441\u0435\u043b, \u0440\u0430\u0437\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u0435\u043b\u0430\u043c\u0438 \u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u0430\u043c\u0438 \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0430 \u0441\u0442\u0440\u043e\u043a\u0438.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0412 \u0442\u0440\u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0444\u0430\u0439\u043b\u0430 \u0432\u044b\u0432\u0435\u0434\u0438\u0442\u0435 \u0447\u0438\u0441\u043b\u0430, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0442 \u043f\u043e\u0434 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u043e\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435.<br>\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0435 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u0447\u0438\u0441\u0435\u043b \u0432 \u0441\u0442\u0440\u043e\u043a\u0430\u0445.", "### **\u041f\u0440\u0438\u043c\u0435\u0440**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|# \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0432\u0432\u043e\u0434:<br>numbers.txt<br>even.txt<br>odd.txt<br>eq.txt<br><br># \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 numbers.txt<br>650975472 591084323 629700 1504180 577023<br>8460612246 42161437 29409368 58531725 5725268 2198001838<br>796451 69358 7195510 975628465 9756641<br>44200289 126541 979391 93479581 291170 28987042 86139603<br> <br> <br> <br> <br> <br> <br>|# \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 even.txt<br>629700 1504180<br>8460612246 29409368 5725268 2198001838<br>975628465<br>44200289 28987042<br><br># \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 odd.txt<br>650975472 591084323 577023<br>58531725<br>796451 69358 7195510 9756641<br>979391 93479581 291170<br><br># \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 eq.txt<br><br>42161437<br><br>126541 86139603<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["def count_even_cif(num):", " c = 0", " for i in num:", " if int(i) % 2 == 0:", " c += 1", "", " return c", "", "", "finputname, fevenname, foddname, feqname = [input() for _ in range(4)]", "", "even, odd, eq = [], [], []", "evenfile = open(fevenname, \"w\", encoding=\"utf-8\")", "oddfile = open(foddname, \"w\", encoding=\"utf-8\")", "eqfile = open(feqname, \"w\", encoding=\"utf-8\")", "with open(finputname, \"r\", encoding=\"utf-8\")as inputfile:", " for line in inputfile:", " for num in line.rstrip(\"\\n\").split():", " ev = count_even_cif(num)", " if len(num) - ev > ev:", " odd.append(num)", " elif len(num) == 2 * ev:", " eq.append(num)", " else:", " even.append(num) ", "", " evenfile.write(\" \".join(even) + \"\\n\")", " oddfile.write(\" \".join(odd) + \"\\n\")", " eqfile.write(\" \".join(eq) + \"\\n\")", " even, odd, eq = [], [], []", " ", "evenfile.close()", "oddfile.close()", "eqfile.close()"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u041e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445**", "\u0427\u0430\u0441\u0442\u043e \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0442\u044c \u0434\u0430\u043d\u043d\u044b\u0435.<br><br>\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 JSON \u0444\u0430\u0439\u043b.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u0432\u043e\u0434\u0438\u0442 \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430.<br>\u0417\u0430\u0442\u0435\u043c \u0432\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u0432\u0438\u0434\u0430 \u043a\u043b\u044e\u0447 == \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0412 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c \u0444\u0430\u0439\u043b \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0437\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0439 JSON.", "### **\u041f\u0440\u0438\u043c\u0435\u0440**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|# \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0432\u0432\u043e\u0434:<br>data.json<br>one == \u043e\u0434\u0438\u043d<br>two == \u0434\u0432\u0430<br>three == \u0442\u0440\u0438<br><br># \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 data.json<br>{<br> \"one\": 1,<br> \"three\": 2<br>}<br>|# \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 data.json<br>{<br> \"one\": \"\u043e\u0434\u0438\u043d\",<br> \"three\": \"\u0442\u0440\u0438\",<br> \"two\": \"\u0434\u0432\u0430\"<br>}<br> <br> <br> <br> <br> <br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from sys import stdin", "import json", "", "file_name = input()", "d = {}", "", "for line in stdin:", " key, val = line.rstrip().split(\" == \")", " d[key] = val", "", "with open(file_name, \"r\", encoding=\"UTF-8\") as js:", " data = json.load(js)", " for key, val in d.items():", " data[key] = val", "", "with open(file_name, \"w\", encoding=\"UTF-8\") as js:", " json.dump(data, js, ensure_ascii=False, indent=2)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0421\u043b\u0438\u044f\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445**", "\u041e\u0434\u043d\u0430 \u043c\u0435\u0441\u0442\u043d\u0430\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442 \u043e\u0431\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u0445 \u0438 \u0437\u0430\u043e\u0434\u043d\u043e \u0440\u0435\u0448\u0438\u043b\u0438 \u0440\u0435\u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f.<br><br>\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442 \u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u0445, \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u0432 JSON \u0444\u0430\u0439\u043b\u0435.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0432\u0432\u043e\u0434\u0438\u0442 \u0434\u0432\u0430 \u0438\u043c\u0435\u043d\u0438 \u0444\u0430\u0439\u043b\u0430.<br>\u0412 \u043f\u0435\u0440\u0432\u043e\u043c \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f JSON \u043c\u0430\u0441\u0441\u0438\u0432 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439.<br>\u0412\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u2014 \u043c\u0430\u0441\u0441\u0438\u0432 \u043d\u043e\u0432\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445.<br><br>\u0418\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043a\u0430\u0436\u0434\u043e\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f JSON \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u043c, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u043e\u043b\u0435 name, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0435\u0435 \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f. \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u043b\u044f \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0412 \u043f\u0435\u0440\u0432\u044b\u0439 \u0444\u0430\u0439\u043b \u0437\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u0445 \u0432 \u0432\u0438\u0434\u0435 JSON \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u043a\u043b\u044e\u0447\u0430\u043c\u0438 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u044e\u0442 \u0438\u043c\u0435\u043d\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u2014 \u043e\u0431\u044a\u0435\u043a\u0442\u044b \u0441 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0435\u0439 \u043e \u043d\u0438\u0445.<br><br>\u0415\u0441\u043b\u0438 \u043a\u0430\u043a\u0430\u044f-\u043b\u0438\u0431\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435 \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f, \u0442\u043e \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c \u043b\u0435\u043a\u0441\u0438\u043a\u043e\u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u043e\u043b\u044c\u0448\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435.", "### **\u041f\u0440\u0438\u043c\u0435\u0440**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|# \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0432\u0432\u043e\u0434:<br>users.json<br>updates.json<br><br># \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 users.json<br>[<br> {<br> \"name\": \"Ann\",<br> \"address\": \"Flower st.\"<br> },<br> {<br> \"name\": \"Bob\",<br> \"address\": \"Summer st.\",<br> \"phone\": \"+7 (123) 456-78-90\"<br> }<br>]<br><br># \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 updates.json<br>[<br> {<br> \"name\": \"Ann\",<br> \"address\": \"Awesome st.\",<br> \"phone\": \"+7 (098) 765-43-21\"<br> },<br> {<br> \"name\": \"Bob\",<br> \"address\": \"Winter st.\"<br> }<br>]<br><br>|# \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 users.json<br>{<br> \"Ann\": {<br> \"address\": \"Flower st.\",<br> \"phone\": \"+7 (098) 765-43-21\"<br> },<br> \"Bob\": {<br> \"address\": \"Winter st.\",<br> \"phone\": \"+7 (123) 456-78-90\"<br> }<br>}<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["import json", "", "", "jsusersname, jsupdatesname = input(), input()", "", "", "data = []", "with open(jsusersname, \"r\", encoding=\"UTF-8\") as js:", " data = json.load(js)", "", "newdata = {}", "for d in data:", " newdata[d[\"name\"]] = {}", " for key, val in d.items():", " if key == \"name\":", " continue", " newdata[d[\"name\"]][key] = val", "", "with open(jsupdatesname, \"r\", encoding=\"UTF-8\") as js:", " data = json.load(js)", "", "for d in data:", " name = d[\"name\"]", " for key, newval in d.items():", " if key == \"name\":", " continue", " if key in newdata[name]:", " val = newdata[name][key]", " newdata[name][key] = sorted([val, newval], reverse=True)[0]", " else:", " newdata[name][key] = newval", "", "with open(jsusersname, \"w\", encoding=\"UTF-8\") as js:", " json.dump(newdata, js, ensure_ascii=False, indent=2)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u041f\u043e\u0441\u0442\u0430\u0432\u044c \u0441\u0435\u0431\u044f \u043d\u0430 \u043c\u043e\u0451 \u043c\u0435\u0441\u0442\u043e**", "\u0412\u044b \u0443\u0436\u0435 \u0434\u043e\u043b\u0433\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u0440\u0435\u0448\u0430\u0435\u0442\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432 \u042f\u043d\u0434\u0435\u043a\u0441.\u041a\u043e\u043d\u0442\u0435\u0441\u0442\u0435.<br>\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u043f\u0440\u0438\u0448\u043b\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u043e\u0447\u0443\u0432\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0441\u0435\u0431\u044f \u043d\u0430 \u0435\u0433\u043e \u043c\u0435\u0441\u0442\u0435.<br><br>\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043a\u0443\u0441\u043e\u0447\u0435\u043a \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u044e\u0449\u0435\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.<br><br>\u0412\u0430\u0448\u0435\u043c\u0443 \u0440\u0435\u0448\u0435\u043d\u0438\u044e \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0444\u0430\u0439\u043b scoring.json, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438.<br><br>\u041e\u0441\u043d\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043f\u0438\u0441\u043e\u043a \u0433\u0440\u0443\u043f\u043f \u0442\u0435\u0441\u0442\u043e\u0432.<br>\u041a\u0430\u0436\u0434\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043e\u0431\u044a\u0435\u043a\u0442 \u0441 \u043f\u043e\u043b\u044f\u043c\u0438:<br>", "* points \u2014 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043e\u0447\u043a\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0437\u0430 \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u0435 \u0434\u0430\u043d\u043d\u043e\u0439 \u0433\u0440\u0443\u043f\u043f\u044b;", "* tests \u2014 \u0441\u043f\u0438\u0441\u043e\u043a \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0442\u0435\u0441\u0442\u0430.", "", "\u041e\u0431\u044a\u0435\u043a\u0442 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0438\u0439 \u0442\u0435\u0441\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u043f\u043e\u043b\u044f:<br>", "* input \u2014 \u0441\u0442\u0440\u043e\u043a\u0430 \u0432\u0445\u043e\u0434\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0442\u0435\u0441\u0442\u0430;", "* pattern \u2014 \u0441\u0442\u0440\u043e\u043a\u0430 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u0445 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0442\u0432\u0435\u0442\u0430.", "", "\u0412 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u0432\u0432\u043e\u0434\u0430 \u0432\u0430\u0448\u0435\u0433\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u043e\u0442\u0432\u0435\u0442\u044b, \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0435 \u043e\u0442 \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u0432\u0432\u043e\u0434\u0430 \u043f\u0435\u0440\u0435\u0434\u0430\u044e\u0442\u0441\u044f \u0441\u0442\u0440\u043e\u043a\u0438 \u2014 \u043e\u0442\u0432\u0435\u0442\u044b \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u043d\u0430 \u043a\u0430\u0436\u0434\u044b\u0439 \u0442\u0435\u0441\u0442. \u0412 \u0444\u0430\u0439\u043b\u0435 scoring.json \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u0442\u0435\u0441\u0442\u0430\u0445 \u0437\u0430\u0434\u0430\u0447\u0438.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u041e\u0434\u043d\u043e \u0447\u0438\u0441\u043b\u043e \u2014 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044b\u0445 \u0442\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c\u043e\u0439 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043e\u0439 \u0431\u0430\u043b\u043b\u043e\u0432.<br>\u0415\u0441\u043b\u0438 \u0433\u0440\u0443\u043f\u043f\u0430 \u0442\u0435\u0441\u0442\u043e\u0432 \u043d\u0435 \u0431\u044b\u043b\u0430 \u043f\u0440\u043e\u0439\u0434\u0435\u043d\u0430 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e, \u0442\u043e \u0437\u0430 \u0434\u0430\u043d\u043d\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443 \u0441\u0442\u0430\u0432\u0438\u0442\u0441\u044f \u043f\u0440\u043e\u043f\u043e\u0440\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0431\u0430\u043b\u043b.<br>\u0413\u0430\u0440\u0430\u043d\u0442\u0438\u0440\u0443\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0431\u0430\u043b\u043b\u044b \u0437\u0430 \u0433\u0440\u0443\u043f\u043f\u0443 \u043a\u0440\u0430\u0442\u043d\u044b \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u0442\u0435\u0441\u0442\u043e\u0432 \u0432 \u043d\u0435\u0439.", "### **\u041f\u0440\u0438\u043c\u0435\u0440**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|# \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0432\u0432\u043e\u0434:<br>4<br>12<br>3<br>100<br>0<br><br># \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 scoring.json<br>[<br> {<br> \"points\": 10,<br> \"tests\": [<br> {<br> \"input\": \"2 2\",<br> \"pattern\": \"4\"<br> },<br> {<br> \"input\": \"4 3\",<br> \"pattern\": \"7\"<br> }<br> ]<br> },<br> {<br> \"points\": 30,<br> \"tests\": [<br> {<br> \"input\": \"2 1\",<br> \"pattern\": \"3\"<br> },<br> {<br> \"input\": \"25 4\",<br> \"pattern\": \"29\"<br> },<br> {<br> \"input\": \"3 -3\",<br> \"pattern\": \"0\"<br> }<br> ]<br> }<br>]<br>|25<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["import json", "from sys import stdin", "", "", "name = \"scoring.json\"", "", "data = []", "with open(name, \"r\", encoding=\"utf-8\") as js:", " data = json.load(js)", "", "testcnt = 0", "for elem in data:", " testcnt += len(elem[\"tests\"])", "", "c = 0", "packc = 0", "pointsum = 0", "", "d = data[packc]", "points = d[\"points\"]", "tests = d[\"tests\"]", "for line in stdin:", " answer = line.rstrip(\"\\n\")", " if c < len(tests):", " if tests[c][\"pattern\"] == answer:", " pointsum += int(points / len(tests))", " c += 1", " else:", " packc += 1", " d = data[packc]", " points = d[\"points\"]", " tests = d[\"tests\"]", " c = 0", " if c < len(tests):", " if tests[c][\"pattern\"] == answer:", " pointsum += int(points / len(tests))", " c += 1", "", "print(pointsum)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u041d\u0430\u0439\u0434\u0451\u0442\u0441\u044f \u0432\u0441\u0451 3.0**", "\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0432\u043d\u043e\u0432\u044c \u043d\u0430\u043f\u0438\u0448\u0435\u043c \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0421\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u044b\u0439 \u0437\u0430\u043f\u0440\u043e\u0441.<br>\u0417\u0430\u0442\u0435\u043c \u0432\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u0430 \u0444\u0430\u0439\u043b\u043e\u0432, \u0441\u0440\u0435\u0434\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u043f\u043e\u0438\u0441\u043a.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0412\u044b\u0432\u0435\u0434\u0438\u0442\u0435 \u0432\u0441\u0435 \u0438\u043c\u0435\u043d\u0430 \u0444\u0430\u0439\u043b\u043e\u0432, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0435\u0441\u0442\u044c \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u0431\u0435\u0437 \u0443\u0447\u0435\u0442\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0430 \u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0445\u0441\u044f \u043f\u0440\u043e\u0431\u0435\u043b\u044c\u043d\u044b\u0445 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432.<br>\u0415\u0441\u043b\u0438 \u043d\u0438 \u0432 \u043e\u0434\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043d\u0435 \u0431\u044b\u043b\u0430 \u043d\u0430\u0439\u0434\u0435\u043d\u0430, \u0432\u044b\u0432\u0435\u0434\u0438\u0442\u0435 \"404. Not Found\".", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u0421\u0438\u0441\u0442\u0435\u043c\u0430 \u043f\u043e\u0438\u0441\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0438 \"a b\", \"a b\" \u0438 \"a\\nb\" \u043a\u0430\u043a \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|# \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0432\u0432\u043e\u0434:<br>\u041c\u0430\u043c\u0430 \u043c\u044b\u043b\u0430 \u0420\u0410\u041c\u0423<br>first.txt<br>second.txt<br><br># \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 first.txt<br>\u0412 \u044d\u0442\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u0441\u044f \u043e \u0442\u043e\u043c \u0447\u0442\u043e \u041c\u0410\u041c\u0410 <br><br>\u043c\u044b\u043b\u0410<br>\u0420\u0430\u043c\u0443<br><br># \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 second.txt<br>\u0410 \u0432 \u044d\u0442\u043e\u043c \u043d\u0435 \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u0441\u044f<br><br>|first.txt<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|# \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0432\u0432\u043e\u0434:<br>Python<br>only_one_file.txt<br><br># \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 only_one_file.txt<br>\u0422\u0443\u0442 \u043d\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0437\u043c\u0435\u0439<br><br>|404. Not Found<br> <br> <br> <br> <br> <br> <br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["from sys import stdin", "", "", "search_task = input().lower().split()", "", "filenames = [line.rstrip(\"\\n\") for line in stdin]", "is_something = False", "", "for fname in filenames:", "", " active_searches = []", " ind = 0", " f = False", " with open(fname, \"r\", encoding=\"utf-8\") as file:", " for line in file:", " for word in line.replace(\" \", \" \").rstrip(\"\\n\").lower().split():", " if not word:", " continue", " if word == search_task[0]:", " active_searches.append([word])", " continue", " if active_searches:", " for i in range(len(active_searches) - 1, -1, -1):", " if len(active_searches[i]) == len(search_task):", " f = True", " break ", " elif search_task[len(active_searches[i])] == word:", " active_searches[i].append(word)", " else:", " del active_searches[i]", "", " if f:", " break", " ", " if active_searches:", " for i in range(len(active_searches) - 1, -1, -1):", " if len(active_searches[i]) == len(search_task):", " f = True", " break", " ", " if f:", " break", " if f:", " print(fname)", " is_something = True", "", "if not is_something:", " print(\"404. Not Found\")"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u041f\u0440\u044f\u0442\u043a\u0438**", "\u0421\u0442\u0435\u0433\u0430\u043d\u043e\u0433\u0440\u0430\u0444\u0438\u044f \u2014 \u0441\u043f\u043e\u0441\u043e\u0431 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u0438\u043b\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0441 \u0443\u0447\u0451\u0442\u043e\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0432 \u0442\u0430\u0439\u043d\u0435 \u0441\u0430\u043c\u043e\u0433\u043e \u0444\u0430\u043a\u0442\u0430 \u0442\u0430\u043a\u043e\u0439 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 (\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f).<br><br>\u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0442\u0430\u0439\u043d\u043e\u0433\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u0441\u0442\u0435\u0433\u0430\u043d\u043e\u0433\u0440\u0430\u0444\u0438\u044f \u0441\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0441\u0430\u043c \u0444\u0430\u043a\u0442 \u0435\u0433\u043e \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043e\u0432\u0430\u043d\u0438\u044f. \u041a\u0430\u043a \u043f\u0440\u0430\u0432\u0438\u043b\u043e, \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u043a\u0430\u043a \u0447\u0442\u043e-\u043b\u0438\u0431\u043e \u0438\u043d\u043e\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043a\u0430\u043a \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435, \u0441\u0442\u0430\u0442\u044c\u044f, \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u043a\u0443\u043f\u043e\u043a, \u043f\u0438\u0441\u044c\u043c\u043e \u0438\u043b\u0438 \u0441\u0443\u0434\u043e\u043a\u0443. \u0421\u0442\u0435\u0433\u0430\u043d\u043e\u0433\u0440\u0430\u0444\u0438\u044e \u043e\u0431\u044b\u0447\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442 \u0441\u043e\u0432\u043c\u0435\u0441\u0442\u043d\u043e \u0441 \u043c\u0435\u0442\u043e\u0434\u0430\u043c\u0438 \u043a\u0440\u0438\u043f\u0442\u043e\u0433\u0440\u0430\u0444\u0438\u0438, \u0442\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0434\u043e\u043f\u043e\u043b\u043d\u044f\u044f \u0435\u0451.<br><br>\u041d\u0430\u043c \u0431\u044b\u043b \u0434\u0430\u043d \u0444\u0430\u0439\u043b \u0441\u043e \u0441\u043a\u0440\u044b\u0442\u044b\u043c \u0442\u0435\u043a\u0441\u0442\u043e\u043c. \u0418 \u0431\u044b\u043b\u043e \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u043e, \u0447\u0442\u043e \u0434\u043b\u044f \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438, \u043d\u0443\u0436\u043d\u043e \u0438\u0437 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u0432 \u0442\u0435\u043a\u0441\u0442\u0435 \u00ab\u0432\u044b\u0434\u0435\u0440\u043d\u0443\u0442\u044c\u00bb \u043c\u043b\u0430\u0434\u0448\u0438\u0439 \u0431\u0430\u0439\u0442. \u042d\u0442\u043e \u0438 \u0431\u0443\u0434\u0435\u0442 \u043a\u043e\u0434 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438.<br>\u041e\u0434\u043d\u0430\u043a\u043e \u0435\u0441\u0442\u044c \u043e\u0434\u043d\u043e \u00ab\u043d\u043e\u00bb. \u0415\u0441\u043b\u0438 \u043a\u043e\u0434 \u0441\u0438\u043c\u0432\u043e\u043b\u0430 \u043c\u0435\u043d\u044c\u0448\u0435 128 \u2014 \u044d\u0442\u043e \u0438 \u0435\u0441\u0442\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u0430\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f.<br><br>\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0437 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430 \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u043d\u0443\u044e \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412 \u0444\u0430\u0439\u043b\u0435 secret.txt \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0442\u0435\u043a\u0441\u0442.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0412\u044b\u0432\u0435\u0434\u0438\u0442\u0435 \u0441\u043f\u0440\u044f\u0442\u0430\u043d\u043d\u043e\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0435.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u0414\u043b\u044f \u043c\u0430\u043d\u0438\u043f\u0443\u043b\u044f\u0446\u0438\u0438 \u043a\u043e\u0434\u0430\u043c\u0438 \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432 \u0438\u0437\u0443\u0447\u0438\u0442\u0435 \u0440\u0430\u0431\u043e\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 chr \u0438 ord.", "### **\u041f\u0440\u0438\u043c\u0435\u0440**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|\u1948\u0b65\u166c\u1c6c\u176f, \u1b77\u176f\u0b72\u0a6c\u0e64!<br>|Hello, world!<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["fname = \"secret.txt\"", "", "with open(fname, \"r\", encoding=\"utf-8\") as file:", " for line in file:", " string = line.rstrip(\"\\n\")", " res = ''", "", " for char in string:", " b = bin(ord(char))[2:]", " if len(b) % 8 != 0:", " bytenum = len(b) // 8 + 1", " b = \"0\" * (8 * bytenum - len(b)) + b", " if len(b) <= 8:", " res += chr(int(b, 2))", " else:", " res += chr(int(b[8:], 2))", "", " print(res)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0421\u043a\u043e\u043b\u044c\u043a\u043e \u0432\u0435\u0448\u0430\u0442\u044c \u0432 \u0431\u0430\u0439\u0442\u0430\u0445?**", "\u0420\u0430\u0437\u043c\u0435\u0440 \u2014 \u0432\u0430\u0436\u043d\u0430\u044f \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430 \u043b\u044e\u0431\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430. \u0412 \u043d\u0430\u0448\u0435\u0439 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0435 \u0441\u043e\u0433\u043b\u0430\u0441\u043d\u043e \u0413\u041e\u0421\u0422 8.417-2002 \u043e\u0431\u044a\u0451\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0438\u0437\u043c\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0435\u0434\u0438\u043d\u0438\u0446\u0430\u0445:<br>", "\u0431\u0438\u0442 (\u0431)<br>\u0411\u0430\u0439\u0442 (\u0411) = 8 \u0431\u0438\u0442<br>\u041a\u0438\u043b\u043e\u0431\u0430\u0439\u0442 (\u041a\u0411) = 1024 \u0411<br>\u041c\u0435\u0433\u0430\u0431\u0430\u0439\u0442 (\u041c\u0411) = 1024 \u041a\u0411<br>\u0413\u0438\u0433\u0430\u0431\u0430\u0439\u0442 (\u0413\u0411) = 1024 \u041c\u0411<br>\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u043e\u0431\u044a\u0451\u043c \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0444\u0430\u0439\u043b\u0430.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043e\u0434\u043d\u043e \u0438\u043c\u044f \u0444\u0430\u0439\u043b\u0430.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0412\u044b\u0432\u0435\u0434\u0438\u0442\u0435 \u043e\u0431\u044a\u0451\u043c \u0444\u0430\u0439\u043b\u0430 \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u0435\u0434\u0438\u043d\u0438\u0446\u0430\u0445 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f.<br>\u041f\u0440\u0438 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0438 \u0434\u0440\u043e\u0431\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f, \u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0434\u0438\u0442\u0435 \u043e\u043a\u0440\u0443\u0433\u043b\u0435\u043d\u0438\u0435 \u0432\u0432\u0435\u0440\u0445.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u0414\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0439\u0442\u0438 \u0434\u0432\u0443\u043c\u044f \u043f\u0443\u0442\u044f\u043c\u0438:<br>", "* \u0438\u0437\u0443\u0447\u0438\u0442\u0435 \u0447\u0442\u0435\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u0432 \u043f\u043e\u0431\u0430\u0439\u0442\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435;", "* \u0438\u0437\u0443\u0447\u0438\u0442\u0435 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 os.", "", "", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|# \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0432\u0432\u043e\u0434<br>file.txt<br><br># \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 file.txt<br>\u042d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u0432\u0435\u0441\u0438\u0442 \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c \u043a\u0430\u0436\u0435\u0442\u0441\u044f ))<br>|67\u0411<br> <br> <br> <br> <br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|# \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0432\u0432\u043e\u0434<br>another_file.txt<br><br># \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 another_file.txt<br>\u0425\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440 \u0441 \u0444\u0430\u0439\u043b\u043e\u043c \u0431\u043e\u043b\u044c\u0448\u0435 1\u041a\u0411<br>\u041d\u0435 \u043f\u0435\u0440\u0435\u0436\u0438\u0432\u0430\u0439\u0442\u0435, \u0442\u0430\u043a\u043e\u0439 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0432 \u0441\u043a\u0440\u044b\u0442\u044b\u0445 \u0442\u0435\u0441\u0442\u0430\u0445 ))<br>|193\u0411<br> <br> <br> <br> <br> <br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["import os", "", "types = [\"\u0411\", \"\u041a\u0411\", \"\u041c\u0411\", \"\u0413\u0411\"]", "fname = input()", "bytessum = 0", "type = 0", "bytessum = os.stat(fname).st_size", " ", "while bytessum >= 1024:", " if bytessum == 3:", " break", " type += 1", " bytessum = bytessum // 1024 + (bytessum % 1024 > 0)", "", "print(f\"{bytessum}{types[type]}\")", ""]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u042d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043d\u0430\u0448 \u0441\u0435\u043a\u0440\u0435\u0442**", "\u0428\u0438\u0444\u0440 \u0426\u0435\u0437\u0430\u0440\u044f, \u0442\u0430\u043a\u0436\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0439 \u043a\u0430\u043a \u0448\u0438\u0444\u0440 \u0441\u0434\u0432\u0438\u0433\u0430, \u043a\u043e\u0434 \u0426\u0435\u0437\u0430\u0440\u044f \u2014 \u043e\u0434\u0438\u043d \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u043f\u0440\u043e\u0441\u0442\u044b\u0445 \u0438 \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0448\u0438\u0440\u043e\u043a\u043e \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0445 \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u041e\u043d \u043d\u0430\u0437\u0432\u0430\u043d \u0432 \u0447\u0435\u0441\u0442\u044c \u0440\u0438\u043c\u0441\u043a\u043e\u0433\u043e \u043f\u043e\u043b\u043a\u043e\u0432\u043e\u0434\u0446\u0430 \u0413\u0430\u044f \u042e\u043b\u0438\u044f \u0426\u0435\u0437\u0430\u0440\u044f, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0432\u0448\u0435\u0433\u043e \u0435\u0433\u043e \u0434\u043b\u044f \u0441\u0435\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u043a\u0438 \u0441\u043e \u0441\u0432\u043e\u0438\u043c\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u043b\u0430\u043c\u0438.<br><br>\u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c \u044d\u0442\u0443 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f. \u041e\u0434\u043d\u0430\u043a\u043e \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0441\u0434\u0432\u0438\u0433\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u043b\u0430\u0442\u0438\u043d\u0441\u043a\u0438\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b \u043f\u043e \u043a\u0440\u0443\u0433\u0443.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u0440\u0430\u0437\u043c\u0435\u0440 \u0441\u0434\u0432\u0438\u0433\u0430 \u0434\u043b\u044f \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u044f.<br><br>\u0412 \u0444\u0430\u0439\u043b\u0435 public.txt \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442\u0441\u044f \u0442\u0435\u043a\u0441\u0442 \u043d\u0430 \u0430\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u043e\u043c \u044f\u0437\u044b\u043a\u0435.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0412 \u0444\u0430\u0439\u043b private.txt \u0437\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0437\u0430\u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|# \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0432\u0432\u043e\u0434<br>3<br><br># \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 public.txt<br>Hello, world!<br>|# \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 private.txt<br>Khoor, zruog!<br> <br> <br> <br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|# \u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0432\u0432\u043e\u0434<br>-10<br><br># \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 public.txt<br>English alphabet: ABCDEFG...XYZ<br>|# \u0421\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u043e\u0435 \u0444\u0430\u0439\u043b\u0430 private.txt<br>Udwbyix qbfxqruj: QRSTUVW...NOP<br> <br> <br> <br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["inpname = \"public.txt\"", "outname = \"private.txt\"", "", "change = int(input())", "", "with open(inpname, \"r\", encoding=\"utf-8\") as inpfile:", " with open(outname, \"w\", encoding=\"utf-8\") as outfile:", " for line in inpfile:", " s = ''", " for c in line:", " code = ord(c)", " if 65 <= code <= 90:", " code += change", " if code > 90:", " while code > 90:", " code = code - 26", " elif code < 65:", " while code < 65:", " code = 26 + code", " c = chr(code)", " elif 97 <= code <= 122:", " code += change", " if code > 122:", " while code > 122:", " code = code - 26", " elif code < 97:", " while code < 97:", " code = 26 + code", " c = chr(code)", " ", " s += c", " outfile.write(s)", "", "", ""]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0424\u0430\u0439\u043b\u043e\u0432\u0430\u044f \u0441\u0443\u043c\u043c\u0430**", "\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u044f\u0435\u0442 \u0441\u0443\u043c\u043c\u0443 \u0432\u0441\u0435\u0445 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u0432 \u0444\u0430\u0439\u043b\u0435 \u0447\u0438\u0441\u0435\u043b \u0432 2-\u0431\u0430\u0439\u0442\u043d\u043e\u043c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u0432\u043e\u0434\u0430**", "\u0412 \u0444\u0430\u0439\u043b\u0435 numbers.num \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u0441\u044f \u0447\u0438\u0441\u043b\u0430 \u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435.", "### **\u0424\u043e\u0440\u043c\u0430\u0442 \u0432\u044b\u0432\u043e\u0434\u0430**", "\u041e\u0434\u043d\u043e \u0447\u0438\u0441\u043b\u043e \u2014 \u0441\u0443\u043c\u043c\u0430 \u0432\u0441\u0435\u0445 \u0447\u0438\u0441\u0435\u043b \u0432 \u0444\u0430\u0439\u043b\u0435 \u043d\u0430 2-\u0431\u0430\u0439\u0442\u043d\u043e\u043c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d\u0435.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u0414\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u0444\u0430\u0439\u043b\u044b \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u044b \u0432 HEX \u0444\u043e\u0440\u043c\u0430\u0442\u0435. \u0412 \u044d\u0442\u043e\u043c \u0432\u0438\u0434\u0435 \u0444\u0430\u0439\u043b \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0447\u0435\u0442\u044b\u0440\u0435\u0445\u0437\u043d\u0430\u0447\u043d\u044b\u0445 \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b.<br><br>\u0412 \u043f\u0435\u0440\u0432\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u0437\u0430\u043f\u0438\u0441\u0430\u043d\u043e 5 \u0448\u0435\u0441\u0442\u043d\u0430\u0434\u0446\u0430\u0442\u0435\u0440\u0438\u0447\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b: 1, 2, 3, 4, 5. \u0418\u0445 \u0441\u0443\u043c\u043c\u0430 \u0440\u0430\u0432\u043d\u0430 15.<br>\u0412\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u2014 255 \u0438 257. \u0418\u0445 \u0441\u0443\u043c\u043c\u0430 \u0440\u0430\u0432\u043d\u0430 512.<br><br>\u0424\u0430\u0439\u043b \u0438\u0437 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u0432 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u043c \u0432\u0438\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u0437\u0434\u0435\u0441\u044c:<br>", "\u041f\u0435\u0440\u0432\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440<br>\u0412\u0442\u043e\u0440\u043e\u0439 \u043f\u0440\u0438\u043c\u0435\u0440<br>\u0415\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u0438\u0437\u0443\u0447\u0438\u0442\u044c \u043f\u0440\u0438\u043d\u0446\u0438\u043f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0446\u0435\u043b\u044b\u0445 \u0447\u0438\u0441\u0435\u043b \u0432 \u042d\u0412\u041c, \u0441\u043e\u0432\u0435\u0442\u0443\u0435\u043c \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u0440\u043e \u043f\u0440\u044f\u043c\u043e\u0439, \u043e\u0431\u0440\u0430\u0442\u043d\u044b\u0439 \u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u0434\u044b.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|0001 0002 0003 0004 0005<br>|15<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|00FF 0101<br>|512<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["fname = \"numbers.num\"", "", "snum = 0", "with open(fname, \"rb\") as file:", " while (byte := file.read(2)):", " snum += int.from_bytes(byte)", "", "snum = snum % 2**16", "print(snum)"]}], "metadata": {"kernelspec": {"display_name": "Python 3", "language": "python", "name": "python3"}, "language_info": {"name": "python", "version": "3.11.1"}}, "nbformat": 4, "nbformat_minor": 2} \ No newline at end of file diff --git a/3.5/4.py b/3.5/4.py deleted file mode 100644 index c286a45..0000000 --- a/3.5/4.py +++ /dev/null @@ -1,14 +0,0 @@ -from sys import stdin - -sentences = [] -for line in stdin: - sentences.append(line.rstrip("\n")) - -search = sentences.pop(-1) -res = [] - -for sen in sentences: - if search.lower() in sen.lower(): - res.append(sen) - -print(*res, sep="\n") \ No newline at end of file diff --git a/3.5/5.py b/3.5/5.py deleted file mode 100644 index ffb70ed..0000000 --- a/3.5/5.py +++ /dev/null @@ -1,9 +0,0 @@ -from sys import stdin - -res = set() -for line in stdin: - for word in line.rstrip("\n").split(): - if word.lower() == word[::-1].lower(): - res.add(word) - -print(*sorted(list(res)), sep="\n") \ No newline at end of file diff --git a/3.5/6.py b/3.5/6.py deleted file mode 100644 index 8c1b1cd..0000000 --- a/3.5/6.py +++ /dev/null @@ -1,78 +0,0 @@ -d = { - 'Рђ': 'A', - 'Р°': 'a', - 'Р‘': 'B', - 'Р±': 'b', - 'Р’': 'V', - 'РІ': 'v', - 'Р“': 'G', - 'Рі': 'g', - 'Р”': 'D', - 'Рґ': 'd', - 'Р•': 'E', - 'Рµ': 'e', - 'РЃ': 'E', - 'С‘': 'e', - 'Р–': 'Zh', - 'Р¶': 'zh', - 'Р—': 'Z', - 'Р·': 'z', - 'Р': 'I', - 'Рё': 'i', - 'Р™': 'I', - 'Р№': 'i', - 'Рљ': 'K', - 'Рє': 'k', - 'Р›': 'L', - 'Р»': 'l', - 'Рњ': 'M', - 'Рј': 'm', - 'Рќ': 'N', - 'РЅ': 'n', - 'Рћ': 'O', - 'Рѕ': 'o', - 'Рџ': 'P', - 'Рї': 'p', - 'Р ': 'R', - 'СЂ': 'r', - 'РЎ': 'S', - 'СЃ': 's', - 'Рў': 'T', - 'С‚': 't', - 'РЈ': 'U', - 'Сѓ': 'u', - 'Р¤': 'F', - 'С„': 'f', - 'РҐ': 'Kh', - 'С…': 'kh', - 'Р¦': 'Tc', - 'С†': 'tc', - 'Р§': 'Ch', - 'С‡': 'ch', - 'РЁ': 'Sh', - 'С€': 'sh', - 'Р©': 'Shch', - 'С‰': 'shch', - 'Р«': 'Y', - 'С‹': 'y', - 'Р': 'E', - 'СЌ': 'e', - 'Р®': 'Iu', - 'СЋ': 'iu', - 'РЇ': 'Ia', - 'СЏ': 'ia' -} -string = "" -with open("cyrillic.txt", "r", encoding="utf-8") as input_file: - with open("transliteration.txt", "w", encoding="utf-8") as output_file: - for line in input_file: - string = line - new_string = "" - for i in string: - if i in d.keys(): - new_string += d[i] - elif i.lower() in ["СЊ", "СЉ"]: - continue - else: - new_string += i - output_file.write(new_string) \ No newline at end of file diff --git a/3.5/7.py b/3.5/7.py deleted file mode 100644 index f810832..0000000 --- a/3.5/7.py +++ /dev/null @@ -1,13 +0,0 @@ -file_name = input() - -data = [] -with open(file_name, "r", encoding="utf-8") as file: - for line in file: - data += [int(i) for i in line.rstrip("\n").split()] - -print(len(data)) -print(len([i for i in data if i > 0])) -print(min(data)) -print(max(data)) -print(sum(data)) -print(round(sum(data) / len(data), 2)) \ No newline at end of file diff --git a/3.5/8.py b/3.5/8.py deleted file mode 100644 index 35901ea..0000000 --- a/3.5/8.py +++ /dev/null @@ -1,19 +0,0 @@ -file1_name, file2_name = input(), input() -fileres_name = input() -set1, set2 = set(), set() - -with open(file1_name, "r", encoding="utf-8") as file1: - for line in file1: - for word in line.rstrip("\n").split(): - set1.add(word) - -with open(file2_name, "r", encoding="utf-8") as file2: - for line in file2: - for word in line.rstrip("\n").split(): - set2.add(word) - -res = sorted(list(set1 ^ set2)) - -with open(fileres_name, "w+", encoding="utf-8") as fileres: - for elem in res: - fileres.write(f"{elem}\n") \ No newline at end of file diff --git a/3.5/9.py b/3.5/9.py deleted file mode 100644 index 7c29a10..0000000 --- a/3.5/9.py +++ /dev/null @@ -1,15 +0,0 @@ -first_file_name, second_file_name = input(), input() - -with open(first_file_name, "r", encoding="utf-8") as first_file: - with open(second_file_name, "w", encoding="utf-8") as second_file: - for line in first_file: - string = line.rstrip("\n") - if not string: - continue - if "\t" in string: - while "\t" in string: - ind = string.index("\t") - string = string[:ind] + string[ind + 1:] - words = string.split() - string = " ".join(words) - second_file.write(string + "\n") \ No newline at end of file diff --git a/3.6/1.py b/3.6/1.py deleted file mode 100644 index 3257f18..0000000 --- a/3.6/1.py +++ /dev/null @@ -1,13 +0,0 @@ -n = int(input()) -strings = [] -for _ in range(n): - buff = input().split("&") - strings.append([int(buff[0]), int(buff[1]), "&".join(buff[2:])]) - -for elem in strings: - s = "" - a, b, string = elem - for i in range(a, len(string), 2): - s += string[i] - s = s[:b] - print(s) \ No newline at end of file diff --git a/3.6/2.py b/3.6/2.py deleted file mode 100644 index d1bd26e..0000000 --- a/3.6/2.py +++ /dev/null @@ -1,18 +0,0 @@ -s = input() -arr = [] -while s: - arr += s.split() - s = input() - -res = {} -for word in arr: - key = word[-1].upper() - if key in res: - if word.lower() not in res[key]: - res[key].append(word.lower()) - else: - res[key] = [word.lower()] - -for key in res.keys(): - print(f"{key} - ", end="") - print(*sorted(res[key]), sep=", ") diff --git a/3.6/3.py b/3.6/3.py deleted file mode 100644 index c51110d..0000000 --- a/3.6/3.py +++ /dev/null @@ -1 +0,0 @@ -[num for num in numbers if num % 2 == 0] + [num for num in numbers if num % 2 == 1] \ No newline at end of file diff --git a/3.6/4.py b/3.6/4.py deleted file mode 100644 index b9908c1..0000000 --- a/3.6/4.py +++ /dev/null @@ -1,8 +0,0 @@ -from itertools import product - -arr = [] -for _ in range(int(input())): - arr.append(sorted(list(set(input().split(", "))))) - -for val in product(*arr): - print("".join(val)) \ No newline at end of file diff --git a/3.6/5.py b/3.6/5.py deleted file mode 100644 index 27b1d01..0000000 --- a/3.6/5.py +++ /dev/null @@ -1,51 +0,0 @@ -import json -from sys import stdin - -def make_siple_nums(maxnum): - res = [] - - for num in range(2, maxnum // 2 + 1): - f = True - for d in range(2, int(num ** 0.5 + 1)): - if num % d == 0 and num != d: - f = False - break - if f: - res.append(num) - - f = True - for d in range(2, int(maxnum ** 0.5 + 1)): - if maxnum % d == 0 and maxnum != d: - f = False - break - if f: - res.append(maxnum) - - return res - -def process(arr): - res = {} - arr = set(arr) - - snums = make_siple_nums(max(arr) // 2 + 1) - for krat in arr: - for num in snums: - if krat % num == 0: - if num in res: - res[num].append(krat) - else: - res[num] = [krat] - if num in res: - res[num] = sorted(res[num]) - - with open('result.json', 'w', encoding="utf-8") as file: - json.dump(res, file) - file.close() - - - - -arr = [] -for line in stdin: - arr.append(int(line)) - process(arr) diff --git a/3.6/tets.py b/3.6/tets.py deleted file mode 100644 index 26654fd..0000000 --- a/3.6/tets.py +++ /dev/null @@ -1,92 +0,0 @@ -alph = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" - -def unite_equation(operation_dict, opers): - opers = opers[::-1] - for i in range(len(opers)): - if i == len(opers) - 1: - for elemind in range(len(operation_dict[opers[i]][()])): - operation_dict[opers[i]][()][elemind] = f"({operation_dict[opers[i]][()][elemind]})" - eq = opers[i].join(operation_dict[opers[i]][()]) - - - u_dict = operation_dict.pop(opers[i]) - for key in u_dict.keys(): - buff = u_dict[key] - for elemind in range(len(buff)): - buff[elemind] = f"({buff[elemind]})" - - for j in range(i + 1, len(opers)): - if key[:-1] in operation_dict[opers[j]].keys(): - operation_dict[opers[j]][key[:-1]][key[-1]] = opers[i].join(buff) - - - - return eq - -def make_brackets(eq): - opers = [" == ", " <= ", " != ", " or ", " and "] - ind = -1 - buff = [] - for i in range(len(opers)): - if opers[i] in eq: - buff.append(opers[i]) - opers = buff - del buff - -# A <= B == C == D != E <= F -# [A <= B, C, D != E <= F] -# {==: {(): [A <= B, C, D != E <= F]}, <=: {(0): [A, B], (2): [D != E, F]}, !=: {(2, 0)): D != E}} -# B or C - - if opers: - base_op = opers[0] - parts = eq.split(base_op) - f_p = False - for p in parts: - for op in opers: - if op in p: - f_p = True - break - if f_p: - break - - if f_p: - operation_dict = {base_op: {(): parts}} - - - for i in range(1, len(opers)): - if i - 1: - prev_d = operation_dict[opers[i - 1]] - new_d = {} - - for key in prev_d.keys(): - for p_i in range(len(prev_d[key])): - if opers[i] in prev_d[key][p_i]: - new_d[key + (p_i, )] = prev_d[key][p_i].split(opers[i]) - - if new_d: - operation_dict[opers[i]] = new_d - else: - break #end - - else: - - for p_i in range(len(parts)): - if opers[i] in parts[p_i]: - if opers[i] in operation_dict: - operation_dict[opers[i]][(p_i, )] = parts[p_i].split(opers[i]) - else: - operation_dict[opers[i]] = {(p_i, ): parts[p_i].split(opers[i])} - - eq = unite_equation(operation_dict, opers) - - else: - for i in range(len(parts)): - parts[i] = f"({parts[i]})" - - eq = base_op.join(parts) - - return eq - - -print(make_brackets("A or C ~ not (A -> B) or C".replace("->", "<=").replace("^", "!=").replace("~", "=="))) \ No newline at end of file diff --git a/4.1/1.py b/4.1/1.py deleted file mode 100644 index 592a6d6..0000000 --- a/4.1/1.py +++ /dev/null @@ -1,2 +0,0 @@ -def print_hello(name): - print(f"Hello, {name}!") \ No newline at end of file diff --git a/4.1/10.py b/4.1/10.py deleted file mode 100644 index 8c14d6a..0000000 --- a/4.1/10.py +++ /dev/null @@ -1,18 +0,0 @@ -def merge(nums1, nums2): - res = [] - nums1, nums2 = map(list, [nums1, nums2]) - while nums1 or nums2: - if not nums1: - res.append(nums2[0]) - del nums2[0] - elif not nums2: - res.append(nums1[0]) - del nums1[0] - else: - if nums1[0] < nums2[0]: - res.append(nums1[0]) - del nums1[0] - else: - res.append(nums2[0]) - del nums2[0] - return tuple(res) \ No newline at end of file diff --git a/4.1/2.py b/4.1/2.py deleted file mode 100644 index 92a94ad..0000000 --- a/4.1/2.py +++ /dev/null @@ -1,7 +0,0 @@ -def gcd(a, b): - while a != b: - if a > b: - a -= b - else: - b -= a - return a \ No newline at end of file diff --git a/4.1/3.py b/4.1/3.py deleted file mode 100644 index d5905b9..0000000 --- a/4.1/3.py +++ /dev/null @@ -1,5 +0,0 @@ -def number_length(num): - res = len(str(num)) - if num < 0: - res -= 1 - return res \ No newline at end of file diff --git a/4.1/4.py b/4.1/4.py deleted file mode 100644 index 718a667..0000000 --- a/4.1/4.py +++ /dev/null @@ -1,19 +0,0 @@ -def month(num, lang): - mths = ( - ("January", "Январь"), - ("February", "Февраль"), - ("March", "Март"), - ("April", "Апрель"), - ("May", "Май"), - ("June", "РСЋРЅСЊ"), - ("July", "Рюль"), - ("August", "РђРІРіСѓСЃС‚"), - ("September", "Сентябрь"), - ("October", "Октябрь"), - ("November", "РќРѕСЏР±СЂСЊ"), - ("December", "Декабрь") - ) - if lang == "en": - return mths[num - 1][0] - else: - return mths[num - 1][1] \ No newline at end of file diff --git a/4.1/41.ipynb b/4.1/41.ipynb deleted file mode 100644 index 0601032..0000000 --- a/4.1/41.ipynb +++ /dev/null @@ -1 +0,0 @@ -{"cells": [{"cell_type": "markdown", "metadata": {}, "source": ["## **\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435**", "\u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0437\u0430\u0434\u0430\u0447 \u044d\u0442\u043e\u0439 \u0433\u043b\u0430\u0432\u044b \u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u043d\u0430 \u043e\u0442\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043d\u0430\u0432\u044b\u043a\u043e\u0432 \u043f\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.<br><br>\u0412\u0430\u0448\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430.<br><br>\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e print_hello, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u043f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0432 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u043f\u043e\u0442\u043e\u043a \u0432\u044b\u0432\u043e\u0434\u0430.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u0412\u0430\u0448\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<br>\u0412 \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|name = \"world\"<br>print_hello(name)<br>|Hello, world!<br> <br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|string = \"Yandex\"<br>print_hello(string)<br>|Hello, Yandex!<br> <br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["def print_hello(name):", " print(f\"Hello, {name}!\")"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0424\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u041d\u041e\u0414**", "\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e gcd, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0434\u0432\u0430 \u043d\u0430\u0442\u0443\u0440\u0430\u043b\u044c\u043d\u044b\u0445 \u0447\u0438\u0441\u043b\u0430 \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0438\u0445 \u043d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0438\u0439 \u043e\u0431\u0449\u0438\u0439 \u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u0412\u0430\u0448\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<br>\u0412 \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|result = gcd(12, 45)<br>|result = 3<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|result = gcd(144, 96)<br>|result = 48<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["def gcd(a, b):", " while a != b:", " if a > b:", " a -= b", " else:", " b -= a", " return a"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0414\u043b\u0438\u043d\u0430 \u0447\u0438\u0441\u043b\u0430**", "\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0439\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e number_length, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043e\u0434\u043d\u043e \u0446\u0435\u043b\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0435\u0433\u043e \u0434\u043b\u0438\u043d\u0443 \u0431\u0435\u0437 \u0443\u0447\u0451\u0442\u0430 \u0437\u043d\u0430\u043a\u0430.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u0412\u0430\u0448\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<br>\u0412 \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|result = number_length(12345)<br>|result = 5<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|result = number_length(-100500)<br>|result = 6<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["def number_length(num):", " res = len(str(num))", " if num < 0:", " res -= 1", " return res"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0418\u043c\u044f of the month**", "\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0439\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e month, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043d\u043e\u043c\u0435\u0440 \u043c\u0435\u0441\u044f\u0446\u0430 \u0438 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u044f\u0437\u044b\u043a\u0430 (\"ru\", \"en\") \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u044f\u0446\u0430 \u0432 \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u0441 \u0437\u0430\u0433\u043b\u0430\u0432\u043d\u043e\u0439 \u0431\u0443\u043a\u0432\u044b.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u0412\u0430\u0448\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<br>\u0412 \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|result = month(1, \"en\")<br>|result = 'January'<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|result = month(7, \"ru\")<br>|result = '\u0418\u044e\u043b\u044c'<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["def month(num, lang):", " mths = (", " (\"January\", \"\u042f\u043d\u0432\u0430\u0440\u044c\"),", " (\"February\", \"\u0424\u0435\u0432\u0440\u0430\u043b\u044c\"),", " (\"March\", \"\u041c\u0430\u0440\u0442\"),", " (\"April\", \"\u0410\u043f\u0440\u0435\u043b\u044c\"),", " (\"May\", \"\u041c\u0430\u0439\"),", " (\"June\", \"\u0418\u044e\u043d\u044c\"),", " (\"July\", \"\u0418\u044e\u043b\u044c\"),", " (\"August\", \"\u0410\u0432\u0433\u0443\u0441\u0442\"),", " (\"September\", \"\u0421\u0435\u043d\u0442\u044f\u0431\u0440\u044c\"),", " (\"October\", \"\u041e\u043a\u0442\u044f\u0431\u0440\u044c\"),", " (\"November\", \"\u041d\u043e\u044f\u0431\u0440\u044c\"),", " (\"December\", \"\u0414\u0435\u043a\u0430\u0431\u0440\u044c\")", " )", " if lang == \"en\":", " return mths[num - 1][0]", " else:", " return mths[num - 1][1]"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0427\u0438\u0441\u043b\u043e\u0432\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430**", "\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0439\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e split_numbers, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u0446\u0435\u043b\u044b\u0445 \u0447\u0438\u0441\u0435\u043b, \u0440\u0430\u0437\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0431\u0435\u043b\u0430\u043c\u0438, \u0438 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043a\u043e\u0440\u0442\u0435\u0436 \u0438\u0437 \u044d\u0442\u0438\u0445 \u0447\u0438\u0441\u0435\u043b.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u0412\u0430\u0448\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<br>\u0412 \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.<br><br>\u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043f\u0440\u043e\u0441\u0438\u0442\u044c: \u043f\u043e\u0447\u0435\u043c\u0443 \u043a\u043e\u0440\u0442\u0435\u0436, \u0430 \u043d\u0435 \u0441\u043f\u0438\u0441\u043e\u043a. \u0412\u0441\u0451 \u0434\u0435\u043b\u043e \u0432 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438. \u041a\u043e\u0440\u0442\u0435\u0436\u0438 \u043d\u0435\u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c\u044b\u0435 \u043a\u043e\u043b\u043b\u0435\u043a\u0446\u0438\u0438 \u0438 \u0438\u0445 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u0435\u0435 \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u0432 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0438\u043b\u0438 \u0438\u0437 \u043d\u0435\u0451.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|result = split_numbers(\"1 2 3 4 5\")<br>|result = (1, 2, 3, 4, 5)<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|result = split_numbers(\"1 -2 3 -4 5\")<br>|result = (1, -2, 3, -4, 5)<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["def split_numbers(string):", " return tuple(map(int, string.split()))"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u041c\u043e\u0434\u0435\u0440\u043d\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0432\u044b\u0432\u043e\u0434\u0430**", "\u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0439\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e modern_print, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0441\u0442\u0440\u043e\u043a\u0443 \u0438 \u0432\u044b\u0432\u043e\u0434\u0438\u0442 \u0435\u0451, \u0435\u0441\u043b\u0438 \u043e\u043d\u0430 \u043d\u0435 \u0431\u044b\u043b\u0430 \u0432\u044b\u0432\u0435\u0434\u0435\u043d\u0430 \u0440\u0430\u043d\u0435\u0435.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u0412 \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|modern_print(\"Hello!\")<br>modern_print(\"Hello!\")<br>modern_print(\"How do you do?\")<br>modern_print(\"Hello!\")<br>|Hello!<br>How do you do?<br> <br> <br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|modern_print(\"\u0410\u043b\u043e!\")<br>modern_print(\"\u0410\u043b\u043e!\")<br>modern_print(\"\u042f \u0442\u0435\u0431\u044f \u043d\u0435 \u0441\u043b\u044b\u0448\u0443\")<br>modern_print(\"\u0410\u043b\u043e!\")<br>modern_print(\"\u0410\u043b\u043e!\")<br>modern_print(\"\u041f\u043e\u0437\u0432\u043e\u043d\u0438 \u043a\u043e\u0433\u0434\u0430 \u0441\u043c\u043e\u0436\u0435\u0448\u044c\")<br>modern_print(\"\u041f\u043e\u0437\u0432\u043e\u043d\u0438 \u043a\u043e\u0433\u0434\u0430 \u0441\u043c\u043e\u0436\u0435\u0448\u044c\")<br>modern_print(\"\u042f \u0442\u0435\u0431\u044f \u043d\u0435 \u0441\u043b\u044b\u0448\u0443\")<br>|\u0410\u043b\u043e!<br>\u042f \u0442\u0435\u0431\u044f \u043d\u0435 \u0441\u043b\u044b\u0448\u0443<br>\u041f\u043e\u0437\u0432\u043e\u043d\u0438 \u043a\u043e\u0433\u0434\u0430 \u0441\u043c\u043e\u0436\u0435\u0448\u044c<br> <br> <br> <br> <br> <br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["def modern_print(string, messages=set()):", " if string not in messages:", " print(string)", " messages.add(string)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0428\u0430\u0445\u043c\u0430\u0442\u043d\u044b\u0439 \u00ab\u043e\u0431\u0435\u0434\u00bb**", "\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e can_eat, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043a\u043e\u043d\u044f \u0438 \u0434\u0440\u0443\u0433\u043e\u0439 \u0444\u0438\u0433\u0443\u0440\u044b \u0432 \u0432\u0438\u0434\u0435 \u043a\u043e\u0440\u0442\u0435\u0436\u0435\u0439 \u0438\u0437 \u0434\u0432\u0443\u0445 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442, \u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0431\u0443\u043b\u0435\u0432\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435: True \u0435\u0441\u043b\u0438 \u043a\u043e\u043d\u044c \u0441\u044a\u0435\u0434\u0430\u0435\u0442 \u0444\u0438\u0433\u0443\u0440\u0443 \u0438 False \u0438\u043d\u0430\u0447\u0435.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u0412\u0430\u0448\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<br>\u0412 \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|result = can_eat((2, 1), (4, 2))<br>|result = True<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|result = can_eat((5, 5), (6, 6))<br>|result = False<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["def can_eat(h, f):", " return (abs(h[0] - f[0]) == 1 and abs(h[1] - f[1]) == 2) or \\", " (abs(h[0] - f[0]) == 2 and abs(h[1] - f[1]) == 1)"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0410 \u0440\u043e\u0437\u0430 \u0443\u043f\u0430\u043b\u0430 \u043d\u0430 \u043b\u0430\u043f\u0443 \u0410\u0437\u043e\u0440\u0430 7.0**", "\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e is_palindrome, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043d\u0430\u0442\u0443\u0440\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u0441\u0442\u0440\u043e\u043a\u0443, \u043a\u043e\u0440\u0442\u0435\u0436 \u0438\u043b\u0438 \u0441\u043f\u0438\u0441\u043e\u043a, \u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435: True \u2014 \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u043d \u043f\u0430\u043b\u0438\u043d\u0434\u0440\u043e\u043c, \u0430 \u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u2014 False.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u0412\u0430\u0448\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<br>\u0412 \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.<br><br>\u0414\u043b\u044f \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u0442\u0438\u043f\u0430 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430 \u043c\u043e\u0436\u043d\u043e \u0432\u043e\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 type \u0438\u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0434\u0432\u0438\u043d\u0443\u0442\u043e\u0439 isinstance.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|result = is_palindrome(123)<br>|result = False<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|result = is_palindrome([1, 2, 1, 2, 1])<br>|result = True<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["def is_palindrome(data):", " if type(data) is int:", " data = str(data)", " return (data == data[::-1])"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u041f\u0440\u043e\u0441\u0442\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430 5.0**", "\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e is_prime, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u043d\u0430\u0442\u0443\u0440\u0430\u043b\u044c\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e, \u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0431\u0443\u043b\u0435\u0432\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435: True \u2014 \u0435\u0441\u043b\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u043e\u0435 \u0447\u0438\u0441\u043b\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0435, \u0430 \u0438\u043d\u0430\u0447\u0435 \u2014 False.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u0412\u0430\u0448\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<br>\u0412 \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|result = is_prime(1001459)<br>|result = True<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|result = is_prime(79701)<br>|result = False<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["def is_prime(num):", " f = True", " for i in range(2, int(num ** 0.5) + 1):", " if (num % i == 0):", " f = False", " break", " return f"]}, {"cell_type": "markdown", "metadata": {}, "source": ["## **\u0421\u043b\u0438\u044f\u043d\u0438\u0435**", "\u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044e merge, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u0440\u0438\u043d\u0438\u043c\u0430\u0435\u0442 \u0434\u0432\u0430 \u043e\u0442\u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u043f\u043e \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0430\u043d\u0438\u044e \u043a\u043e\u0440\u0442\u0435\u0436\u0430 \u0446\u0435\u043b\u044b\u0445 \u0447\u0438\u0441\u0435\u043b, \u0430 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0434\u0438\u043d \u0438\u0437 \u0432\u0441\u0435\u0445 \u043f\u0435\u0440\u0435\u0434\u0430\u043d\u043d\u044b\u0445 \u0447\u0438\u0441\u0435\u043b.", "### **\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435**", "\u0412\u0430\u0448\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<br>\u0412 \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u043d\u0435 \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u0432\u044b\u0437\u043e\u0432\u043e\u0432 \u0442\u0440\u0435\u0431\u0443\u0435\u043c\u044b\u0445 \u0444\u0443\u043d\u043a\u0446\u0438\u0439.<br>\u0412 \u044d\u0442\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0435 \u0441\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u043a\u0438", "### **\u041f\u0440\u0438\u043c\u0435\u0440 1**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|result = merge((1, 2), (3, 4, 5))<br>|result = (1, 2, 3, 4, 5)<br>|", "### **\u041f\u0440\u0438\u043c\u0435\u0440 2**", "|\u0412\u0432\u043e\u0434 |\u0412\u044b\u0432\u043e\u0434|", "|-----|-----|", "|result = merge((7, 12), (1, 9, 50))<br>|result = (1, 7, 9, 12, 50)<br>|"]}, {"cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": ["def merge(nums1, nums2):", " res = []", " nums1, nums2 = map(list, [nums1, nums2])", " while nums1 or nums2:", " if not nums1:", " res.append(nums2[0])", " del nums2[0]", " elif not nums2:", " res.append(nums1[0])", " del nums1[0]", " else:", " if nums1[0] < nums2[0]:", " res.append(nums1[0])", " del nums1[0]", " else:", " res.append(nums2[0])", " del nums2[0]", " return tuple(res)"]}], "metadata": {"kernelspec": {"display_name": "Python 3", "language": "python", "name": "python3"}, "language_info": {"name": "python", "version": "3.11.1"}}, "nbformat": 4, "nbformat_minor": 2} \ No newline at end of file diff --git a/4.1/5.py b/4.1/5.py deleted file mode 100644 index b61df10..0000000 --- a/4.1/5.py +++ /dev/null @@ -1,2 +0,0 @@ -def split_numbers(string): - return tuple(map(int, string.split())) \ No newline at end of file diff --git a/4.1/6.py b/4.1/6.py deleted file mode 100644 index e0370e0..0000000 --- a/4.1/6.py +++ /dev/null @@ -1,4 +0,0 @@ -def modern_print(string, messages=set()): - if string not in messages: - print(string) - messages.add(string) \ No newline at end of file diff --git a/4.1/7.py b/4.1/7.py deleted file mode 100644 index 355d2ac..0000000 --- a/4.1/7.py +++ /dev/null @@ -1,3 +0,0 @@ -def can_eat(h, f): - return (abs(h[0] - f[0]) == 1 and abs(h[1] - f[1]) == 2) or \ - (abs(h[0] - f[0]) == 2 and abs(h[1] - f[1]) == 1) \ No newline at end of file diff --git a/4.1/8.py b/4.1/8.py deleted file mode 100644 index c9dca5b..0000000 --- a/4.1/8.py +++ /dev/null @@ -1,4 +0,0 @@ -def is_palindrome(data): - if type(data) is int: - data = str(data) - return (data == data[::-1]) \ No newline at end of file diff --git a/4.1/9.py b/4.1/9.py deleted file mode 100644 index 808fab9..0000000 --- a/4.1/9.py +++ /dev/null @@ -1,7 +0,0 @@ -def is_prime(num): - f = True - for i in range(2, int(num ** 0.5) + 1): - if (num % i == 0): - f = False - break - return f \ No newline at end of file diff --git a/4.2/1.py b/4.2/1.py deleted file mode 100644 index a1c8913..0000000 --- a/4.2/1.py +++ /dev/null @@ -1,2 +0,0 @@ -def make_list(length, value=0): - return [value] * length \ No newline at end of file diff --git a/4.2/10.py b/4.2/10.py deleted file mode 100644 index 9d2c8b4..0000000 --- a/4.2/10.py +++ /dev/null @@ -1,14 +0,0 @@ -def secret_replace(text, **replaces): - counter = {k: 0 for k in replaces.keys()} - while True: - f = False - for k in replaces.keys(): - if k in text: - text = text.replace(k, replaces[k][counter[k]], 1) - if counter[k] >= len(replaces[k]) - 1: - counter[k] = -1 - counter[k] += 1 - f = True - if not f: - break - return text \ No newline at end of file diff --git a/4.2/2.py b/4.2/2.py deleted file mode 100644 index 6e08d9b..0000000 --- a/4.2/2.py +++ /dev/null @@ -1,5 +0,0 @@ -def make_matrix(size, value=0): - if type(size) is int: - return [[value] * size for _ in range(size)] - else: - return [[value] * size[0] for _ in range(size[1])] \ No newline at end of file diff --git a/4.2/3.py b/4.2/3.py deleted file mode 100644 index 4605681..0000000 --- a/4.2/3.py +++ /dev/null @@ -1,12 +0,0 @@ -def gcd(*nums): - nums = list(nums) - for i in range(len(nums) - 1): - a, b = nums[i], nums[i + 1] - while a != b: - if a > b: - a -= b - else: - b -= a - nums[i + 1] = a - - return nums[-1] \ No newline at end of file diff --git a/4.2/4.py b/4.2/4.py deleted file mode 100644 index 355c443..0000000 --- a/4.2/4.py +++ /dev/null @@ -1,19 +0,0 @@ -def month(num, lang="ru"): - mths = ( - ("January", "Январь"), - ("February", "Февраль"), - ("March", "Март"), - ("April", "Апрель"), - ("May", "Май"), - ("June", "РСЋРЅСЊ"), - ("July", "Рюль"), - ("August", "РђРІРіСѓСЃС‚"), - ("September", "Сентябрь"), - ("October", "Октябрь"), - ("November", "РќРѕСЏР±СЂСЊ"), - ("December", "Декабрь") - ) - if lang == "en": - return mths[num - 1][0] - else: - return mths[num - 1][1] \ No newline at end of file diff --git a/4.2/5.py b/4.2/5.py deleted file mode 100644 index 1a005a2..0000000 --- a/4.2/5.py +++ /dev/null @@ -1,7 +0,0 @@ -def to_string(*nums, sep=" ", end="\n"): - res = '' - for i in range(len(nums)): - res += str(nums[i]) - if i != len(nums) - 1: - res += sep - return res + end \ No newline at end of file diff --git a/4.2/6.py b/4.2/6.py deleted file mode 100644 index 4ff8250..0000000 --- a/4.2/6.py +++ /dev/null @@ -1,24 +0,0 @@ -def order(*names): - global in_stock - res = "" - message = "Рљ сожалению, РЅРµ можем предложить Вам напиток" - d = { - "Рспрессо": {"coffee": 1}, - "Капучино": {"coffee": 1, "milk": 3}, - "Макиато": {"coffee": 2, "milk": 1}, - "Кофе РїРѕ-венски": {"coffee": 1, "cream": 2}, - "Латте Макиато": {"coffee": 1, "milk": 2, "cream": 1}, - "РљРѕРЅ Панна": {"coffee": 1, "cream": 1} - } - - for cof in names: - f = True - for k in d[cof].keys(): - if d[cof][k] > in_stock[k]: - f = False - if f: - for k in d[cof].keys(): - in_stock[k] -= d[cof][k] - message = cof - break - return message \ No newline at end of file diff --git a/4.2/7.py b/4.2/7.py deleted file mode 100644 index 56ea233..0000000 --- a/4.2/7.py +++ /dev/null @@ -1,23 +0,0 @@ -def enter_results(*enter, nums=[]): - nums += list(enter) - return nums - - -def get_sum(): - sum1, sum2 = 0, 0 - for n in enter_results()[::2]: - sum1 += n - for n in enter_results()[1::2]: - sum2 += n - return sum1, sum2 - - -def get_average(): - sum1, l1, sum2, l2 = 0, 0, 0, 0 - for n in enter_results()[::2]: - sum1 += n - l1 += 1 - for n in enter_results()[1::2]: - sum2 += n - l2 += 1 - return sum1 / l1, sum2 / l2 \ No newline at end of file diff --git a/4.2/8.py b/4.2/8.py deleted file mode 100644 index d9c8d32..0000000 --- a/4.2/8.py +++ /dev/null @@ -1 +0,0 @@ -lambda word: (len(word), word.lower()) \ No newline at end of file diff --git a/4.2/9.py b/4.2/9.py deleted file mode 100644 index 1e1fe4f..0000000 --- a/4.2/9.py +++ /dev/null @@ -1 +0,0 @@ -lambda num: sum(map(int, str(num))) % 2 == 0 \ No newline at end of file diff --git a/4.3/1.py b/4.3/1.py deleted file mode 100644 index ac054b6..0000000 --- a/4.3/1.py +++ /dev/null @@ -1,6 +0,0 @@ -def recursive_sum(*nums): - nums = list(nums) - if nums: - return nums[-1] + recursive_sum(*nums[:-1]) - else: - return 0 \ No newline at end of file diff --git a/4.3/10.py b/4.3/10.py deleted file mode 100644 index 5fb3cb1..0000000 --- a/4.3/10.py +++ /dev/null @@ -1,9 +0,0 @@ -def make_linear(ldata): - if type(ldata) is not list: - return ldata - i = 0 - while i != len(ldata): - if type(ldata[i]) is list: - ldata = ldata[:i] + make_linear(ldata[i]) + ldata[i + 1:] - i += 1 - return ldata \ No newline at end of file diff --git a/4.3/2.py b/4.3/2.py deleted file mode 100644 index 6828e8b..0000000 --- a/4.3/2.py +++ /dev/null @@ -1,7 +0,0 @@ -def recursive_digit_sum(nums): - if type(nums) is int: - nums = list(str(nums)) - if nums: - return int(nums[-1]) + recursive_digit_sum(nums[:-1]) - else: - return 0 \ No newline at end of file diff --git a/4.3/3.py b/4.3/3.py deleted file mode 100644 index 2ec6c49..0000000 --- a/4.3/3.py +++ /dev/null @@ -1,6 +0,0 @@ -def make_equation(*nums): - nums = list(nums) - if len(nums) > 1: - return f"({make_equation(*nums[:-1])}) * x + {nums[-1]}" - else: - return nums[-1] \ No newline at end of file diff --git a/4.3/4.py b/4.3/4.py deleted file mode 100644 index 0239b40..0000000 --- a/4.3/4.py +++ /dev/null @@ -1,4 +0,0 @@ -def answer(f): - def add_result(*args, **kwargs): - return f"Результат функции: {f(*args, **kwargs)}" - return add_result \ No newline at end of file diff --git a/4.3/5.py b/4.3/5.py deleted file mode 100644 index e9db512..0000000 --- a/4.3/5.py +++ /dev/null @@ -1,14 +0,0 @@ -def result_accumulator(f): - res_list = [] - - def decorator(*args, method="accumulate"): - nonlocal res_list - res_list.append(f(*args)) - if method == "drop": - a = res_list.copy() - res_list = [] - return a - else: - return None - - return decorator \ No newline at end of file diff --git a/4.3/6.py b/4.3/6.py deleted file mode 100644 index 3056bfe..0000000 --- a/4.3/6.py +++ /dev/null @@ -1,24 +0,0 @@ -def merge_sort(lnum): - if len(lnum) > 1: - return merge(merge_sort(lnum[:len(lnum) // 2]), merge_sort(lnum[len(lnum) // 2:])) - else: - return lnum - - -def merge(nums1, nums2): - res = [] - while nums1 or nums2: - if not nums1: - res.append(nums2[0]) - del nums2[0] - elif not nums2: - res.append(nums1[0]) - del nums1[0] - else: - if nums1[0] < nums2[0]: - res.append(nums1[0]) - del nums1[0] - else: - res.append(nums2[0]) - del nums2[0] - return res \ No newline at end of file diff --git a/4.3/7.py b/4.3/7.py deleted file mode 100644 index 114b676..0000000 --- a/4.3/7.py +++ /dev/null @@ -1,9 +0,0 @@ -def same_type(func): - def checker(*args): - for i in range(len(args) - 1): - if type(args[i]) is not type(args[i + 1]): - print("Обнаружены различные типы данных") - break - else: - return func(*args) - return checker \ No newline at end of file diff --git a/4.3/8.py b/4.3/8.py deleted file mode 100644 index 652d06c..0000000 --- a/4.3/8.py +++ /dev/null @@ -1,5 +0,0 @@ -def fibonacci(n): - a, b = 0, 1 - for _ in range(n): - yield a - a, b = b, a + b \ No newline at end of file diff --git a/4.3/9.py b/4.3/9.py deleted file mode 100644 index 2f13b40..0000000 --- a/4.3/9.py +++ /dev/null @@ -1,5 +0,0 @@ -def cycle(lnums): - c = 0 - while True: - yield lnums[c % len(lnums)] - c += 1 \ No newline at end of file diff --git a/4.4/1.py b/4.4/1.py deleted file mode 100644 index 154b102..0000000 --- a/4.4/1.py +++ /dev/null @@ -1,2 +0,0 @@ -def print_weather(wind, temperature): - print(f"Р—Р° РѕРєРЅРѕРј дует ветер СЃРѕ скоростью {wind} Рј/СЃ. Температура РІРѕР·РґСѓС…Р° {temperature}В°C.") \ No newline at end of file diff --git a/4.4/2.py b/4.4/2.py deleted file mode 100644 index a76dc70..0000000 --- a/4.4/2.py +++ /dev/null @@ -1,12 +0,0 @@ -def add_number(num, f=True, lnums=[]): - if f: - lnums.append(num) - return lnums - - -def get_prod(): - lnums = add_number(0, f=False) - mult = 1 - for num in lnums: - mult *= num - return " * ".join(map(str, lnums)) + f" = {mult}" \ No newline at end of file diff --git a/4.4/3.py b/4.4/3.py deleted file mode 100644 index 0aa7df0..0000000 --- a/4.4/3.py +++ /dev/null @@ -1,7 +0,0 @@ -def count_pairs(*numbers, div=10): - count = 0 - for i in range(len(numbers) - 1): - for j in range(i + 1, len(numbers)): - if (numbers[i] + numbers[j]) % div == 0: - count += 1 - return count \ No newline at end of file diff --git a/4.4/4.py b/4.4/4.py deleted file mode 100644 index 50e2cb5..0000000 --- a/4.4/4.py +++ /dev/null @@ -1,11 +0,0 @@ -def index(text): - s = set(text) - delete = [] - for sim in s: - if not sim.isalpha(): - delete.append(sim) - for sim in delete: - s.remove(sim) - s = sorted(list(s)) - for let in s: - yield let, text.index(let) \ No newline at end of file diff --git a/4.4/5.py b/4.4/5.py deleted file mode 100644 index 7783de2..0000000 --- a/4.4/5.py +++ /dev/null @@ -1,26 +0,0 @@ -def bunny(start, finish, length, way=[]): - if not way: - way = [start] - if length == 0 and start == finish: - return way - elif length == 0 and start != finish: - return way + [None] - elif length != 0 and start == finish: - return way + [None] - else: - ways = [bunny(start + 1, finish, length - 1, way=way + [start + 1]), - bunny(start - 1, finish, length - 1, way=way + [start - 1]), - bunny(start + 3, finish, length - 1, way=way + [start + 3]), - bunny(start - 3, finish, length - 1, way=way + [start - 3])] - nways = [] - for w1 in ways: - if not w1: - continue - if type(w1[0]) is list: - for w2 in w1: - if w2[-1] is not None: - nways.append(w2) - else: - if w1[-1] is not None: - nways.append(w1) - return nways \ No newline at end of file diff --git a/README.md b/README.md index ae1f3a6..286b482 100644 --- a/README.md +++ b/README.md @@ -1,93 +1,17 @@ -# Pythonlabs - - - -## Getting started - -To make it easy for you to get started with GitLab, here's a list of recommended next steps. - -Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)! - -## Add your files - -- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files -- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command: - -``` -cd existing_repo -git remote add origin https://gitlab.mai.ru/ASZelenov/pythonlabs.git -git branch -M main -git push -uf origin main -``` - -## Integrate with your tools - -- [ ] [Set up project integrations](https://gitlab.mai.ru/ASZelenov/pythonlabs/-/settings/integrations) - -## Collaborate with your team - -- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/) -- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html) -- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically) -- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/) -- [ ] [Set auto-merge](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html) - -## Test and Deploy - -Use the built-in continuous integration in GitLab. - -- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html) -- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing (SAST)](https://docs.gitlab.com/ee/user/application_security/sast/) -- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html) -- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/) -- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html) - -*** - -# Editing this README - -When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thanks to [makeareadme.com](https://www.makeareadme.com/) for this template. - -## Suggestions for a good README - -Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information. - -## Name -Choose a self-explaining name for your project. - -## Description -Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors. - -## Badges -On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge. - -## Visuals -Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method. - -## Installation -Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection. - -## Usage -Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README. - -## Support -Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc. - -## Roadmap -If you have ideas for releases in the future, it is a good idea to list them in the README. - -## Contributing -State if you are open to contributions and what your requirements are for accepting them. - -For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self. - -You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser. - -## Authors and acknowledgment -Show your appreciation to those who have contributed to the project. - -## License -For open source projects, say how it is licensed. - -## Project status -If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers. +Текстовый процессор представлен РґРІСѓРјСЏ файлами .py, первый обрабатывает РѕРґРёРЅ markdown. Для этого: +1. Р’ файл md1.txt необходимо скопировать РІСЃС‘ условие задачи РёР· яндекс лмс, включая таблицу +2. Дописать РІ РЅРѕРІРѕР№ строке тип деления строк РїРѕ столбцам РІ таблицах примеров. Если нужно, чтобы РІ первой колонке было N элементов, пишем N. Если нужно N элементов РІРѕ второй, пишем -N, если РќРµ нужно деление РїРѕ столбцами, пишем _, тогда РІСЃС‘ будет записываться РІ первую колонку. +3. Запустить файл text_processor.py +4. Скопировать обработанный текст РёР· файла md1.txt +5. Вставить текст РІ markdown + +Второй файл .py РїРѕРґС…РѕРґРёС‚ для оформления всего файла ipynb. Для этого: +1. Р’ файл md1.txt необходимо скопировать условия задачи Рё python РєРѕРґ +2. Перед условием, необходимо РЅР° отдельной строке записать /md +3. Для условия выполнить РїСѓРЅРєС‚ 2 РёР· первого СЃРїРёСЃРєР° +4. После РЅР° отдельной строке написать /py Рё РЅР° следующей вставить python РєРѕРґ +5. РќР° выходе создастся файл output.ipynb +Р’РђР–РќРћ: РЅР° данный момент обязательно записывать сначало условие, потом РєРѕРґ +Примечание 1: так как СЏ немного РєСЂРёРІРѕ пишу, текстовых файлах записаны примеры +Примечание 2: РЅР° данный момент текстовый процессор некорректно работает СЃ математическими выражениями типо 2<=N<=9, так что это необходимо исправлять вручную +Примечание 3: впринципе стоит проверять текст РЅР° выходе \ No newline at end of file diff --git a/makefiles.py b/makefiles.py deleted file mode 100644 index ff64a00..0000000 --- a/makefiles.py +++ /dev/null @@ -1,3 +0,0 @@ -for i in range(1, 6): - file = open(f"4.4/{i}.py", 'w+') - file.close() \ No newline at end of file diff --git a/md.txt b/md.txt index d562325..445767d 100644 --- a/md.txt +++ b/md.txt @@ -1,414 +1,38 @@ -/md -Генератор СЃРїРёСЃРєРѕРІ +Просто здравствуй, просто как дела Ограничение времени 1 секунда Ограничение памяти 64.0 РњР± -Р’РІРѕРґ стандартный РІРІРѕРґ -Вывод стандартный вывод -Большинство задач этой главы ориентировано РЅР° отработку навыков РїРѕ разработке функций. +Р’РІРѕРґ стандартный РІРІРѕРґ или input.txt +Вывод стандартный вывод или output.txt +Умение вести диалог — важный навык для воспитанного человека. -Ваше решение будет использоваться как библиотека. +Напишите диалоговую программу, которая сначала познакомится СЃ пользователем, Р° затем поинтересуется его настроением. -Напишите функцию make_list, которая создаёт, заполняет Рё возвращает СЃРїРёСЃРѕРє заданного размера. +Формат РІРІРѕРґР° +Р’ первой строке записано РёРјСЏ пользователя. +Р’Рѕ второй — ответ РЅР° РІРѕРїСЂРѕСЃ: «хорошо» или «плохо». -Параметры функции: - -length — требуемая длина СЃРїРёСЃРєР°; -value — значение элементов СЃРїРёСЃРєР° (РїРѕ-умолчанию 0). -Примечание -Ваше решение должно содержать только функции. -Р’ решении РЅРµ должно быть вызовов требуемых функций. - -Пример 1 -Р’РІРѕРґ Вывод -result = make_list(3) -result = [0, 0, 0] -Пример 2 -Р’РІРѕРґ Вывод -result = make_list(5, 1) -result = [1, 1, 1, 1, 1] -1 -/md -Генератор матриц -Ограничение времени 1 секунда -Ограничение памяти 64.0 РњР± -Р’РІРѕРґ стандартный РІРІРѕРґ -Вывод стандартный вывод -Напишите функцию make_matrix, которая создаёт, заполняет Рё возвращает матрицу заданного размера. - -Параметры функции: - -size — кортеж (ширина, высота) или РѕРґРЅРѕ число (для создания квадратной матрицы); -value — значение элементов СЃРїРёСЃРєР° (РїРѕ-умолчанию 0). -Примечание -Ваше решение должно содержать только функции. -Р’ решении РЅРµ должно быть вызовов требуемых функций. - -Пример 1 -Р’РІРѕРґ Вывод -result = make_matrix(3) -result = [ - [0, 0, 0], - [0, 0, 0], - [0, 0, 0] -] -Пример 2 -Р’РІРѕРґ Вывод -result = make_matrix((4, 2), 1) -result = [ - [1, 1, 1, 1], - [1, 1, 1, 1] -] -1 -/md -Функциональный РЅРѕРґ 2.0 -Ограничение времени 1 секунда -Ограничение памяти 64.0 РњР± -Р’РІРѕРґ стандартный РІРІРѕРґ -Вывод стандартный вывод -Напишите функцию gcd, которая вычисляет наибольший общий делитель последовательности чисел. -Параметрами функции выступают натуральные числа РІ произвольном количестве, РЅРѕ РЅРµ менее РѕРґРЅРѕРіРѕ. - -Примечание -Ваше решение должно содержать только функции. -Р’ решении РЅРµ должно быть вызовов требуемых функций. - -Пример 1 -Р’РІРѕРґ Вывод -result = gcd(3) -result = 3 -Пример 2 -Р’РІРѕРґ Вывод -result = gcd(36, 48, 156, 100500) -result = 12 -1 -/md -РРјСЏ of the month 2.0 -Ограничение времени 1 секунда -Ограничение памяти 64.0 РњР± -Р’РІРѕРґ стандартный РІРІРѕРґ -Вывод стандартный вывод -Разработайте функцию month, которая возвращает название заданного месяца СЃ заглавной Р±СѓРєРІС‹. Функция должна принимать номер месяца Рё дополнительно обозначение языка (РїРѕ умолчанию "ru"). - -Примечание -Ваше решение должно содержать только функции. -Р’ решении РЅРµ должно быть вызовов требуемых функций. - -Пример 1 -Р’РІРѕРґ Вывод -result = month(1, "en") -result = 'January' -Пример 2 -Р’РІРѕРґ Вывод -result = month(7) -result = 'Рюль' -1 -/md -Подготовка данных -Ограничение времени 1 секунда -Ограничение памяти 64.0 РњР± -Р’РІРѕРґ стандартный РІРІРѕРґ -Вывод стандартный вывод -Напишите функцию to_string, которая формирует РёР· последовательности данных строку. -Функция должна принимать: - -неопределённое количество данных; -необязательный параметр sep (РїРѕ умолчанию пробел); -необязательный параметр end (РїРѕ умолчанию \n). -Примечание -Ваше решение должно содержать только функции. -Р’ решении РЅРµ должно быть вызовов требуемых функций. - -Пример 1 -Р’РІРѕРґ Вывод -result = to_string(1, 2, 3) -result = '1 2 3\n' -Пример 2 -Р’РІРѕРґ Вывод -data = [7, 3, 1, "hello", (1, 2, 3)] -result = to_string(*data, sep=", ", end="!") -result = '7, 3, 1, hello, (1, 2, 3)!' --1 -/md -Кофейня -Ограничение времени 1 секунда -Ограничение памяти 64.0 РњР± -Р’РІРѕРґ стандартный РІРІРѕРґ -Вывод стандартный вывод -Руководство местной кофейни для программистов РїРѕРґ названием Java-0x00 решило модернизировать систему заказа кофе. - -Для этого РёРј требуется реализовать функцию order, которая принимает СЃРїРёСЃРѕРє предпочтений посетителя РІ РїРѕСЂСЏРґРєРµ «убывания желания». - -Согласно положению, каждый напиток РІ кофейне строго определён рецептом: - -Рспрессо готовится РёР·: 1 порции кофейных зерен. -Капучино готовится РёР·: 1 порции кофейных зерен Рё 3 порций молока. -Макиато готовится РёР·: 2 порций кофейных зерен Рё 1 порции молока. -Кофе РїРѕ-венски готовится РёР·: 1 порции кофейных зерен Рё 2 порций взбитых сливок. -Латте Макиато готовится РёР·: 1 порции кофейных зерен, 2 порций молока Рё 1 порции взбитых сливок. -РљРѕРЅ Панна готовится РёР·: 1 порции кофейных зерен Рё 1 порции взбитых сливок. -Р’ глобальной переменной in_stock содержится словарь, описывающий ингредиенты РІ наличии. Ключи словаря: coffee, cream, milk. - -Функция должна вернуть: - -название напитка, который будет приготовлен; -сообщение «К сожалению, РЅРµ можем предложить Вам напиток», если РЅРё РѕРґРЅРѕ РёР· предпочтений РЅРµ может быть приготовлено. -Если заказ, может быть совершён, количество доступных ингредиентов должно соответствующим образом уменьшиться. - -Примечание -Р’ решении РЅРµ должно быть вызовов требуемых функций. - -Пример 1 -Р’РІРѕРґ Вывод -in_stock = {"coffee": 1, "milk": 2, "cream": 3} -print(order("Рспрессо", "Капучино", "Макиато", "Кофе РїРѕ-венски", "Латте Макиато", "РљРѕРЅ Панна")) -print(order("Рспрессо", "Капучино", "Макиато", "Кофе РїРѕ-венски", "Латте Макиато", "РљРѕРЅ Панна")) -Рспрессо -Рљ сожалению, РЅРµ можем предложить Вам напиток -Пример 2 -Р’РІРѕРґ Вывод -in_stock = {"coffee": 4, "milk": 4, "cream": 0} -print(order("Капучино", "Макиато", "Рспрессо")) -print(order("Капучино", "Макиато", "Рспрессо")) -print(order("Капучино", "Макиато", "Рспрессо")) -Капучино -Макиато -Рспрессо -3 4 -/md -Р’ эфире СЂСѓР±СЂРёРєР° В«Рксперименты» -Ограничение времени 1 секунда -Ограничение памяти 64.0 РњР± -Р’РІРѕРґ стандартный РІРІРѕРґ -Вывод стандартный вывод -Лаборанты РїСЂРѕРІРѕРґСЏС‚ эксперимент Рё запросили разработку системы обработки данных. Результатами эксперимента должны стать пары рациональных чисел. - -Для работы РёРј требуются функции: - -enter_results(first, second, ...) — добавление данных РѕРґРЅРѕРіРѕ или нескольких результатов (гарантируется, что количество параметров будет чётным); -get_sum() — возвращает пару СЃСѓРјРј результатов экспериментов; -get_average() — возвращает пару средних арифметических значений результатов экспериментов. -Р’СЃРµ вычисления производятся СЃ точностью РґРѕ сотых. - -Примечание -Р’ решении РЅРµ должно быть вызовов требуемых функций. +Формат вывода +Р’ первой строке должен быть РІРѕРїСЂРѕСЃ «Как Вас Р·РѕРІСѓС‚?В» +Р’Рѕ второй строке — «Здравствуйте, %username%!В» +Р’ третьей строке — РІРѕРїСЂРѕСЃ «Как дела?В» +Р’ четвёртой строке реакция РЅР° ответ пользователя: +если пользователь ответил «хорошо», следует вывести сообщение «Я Р·Р° вас рада!В»; +если пользователь ответил «плохо», следует вывести сообщение «Всё наладится!В». Пример 1 Р’РІРѕРґ Вывод -enter_results(1, 2, 3, 4, 5, 6) -print(get_sum(), get_average()) -enter_results(1, 2) -print(get_sum(), get_average()) -(9, 12) (3.0, 4.0) -(10, 14) (2.5, 3.5) +РђРЅСЏ +хорошо +Как Вас Р·РѕРІСѓС‚? +Здравствуйте, РђРЅСЏ! +Как дела? +РЇ Р·Р° вас рада! Пример 2 Р’РІРѕРґ Вывод -enter_results(3.5, 2.14, 45.2, 37.99) -print(get_sum(), get_average()) -enter_results(5.2, 7.3) -print(get_sum(), get_average()) -enter_results(1.23, 4.56, 3.14, 2.71, 0, 0) -print(get_sum(), get_average()) -(48.7, 40.13) (24.35, 20.07) -(53.9, 47.43) (17.97, 15.81) -(58.27, 54.7) (9.71, 9.12) -4 6 -/md -Длинная сортировка -Ограничение времени 1 секунда -Ограничение памяти 64.0 РњР± -Р’РІРѕРґ стандартный РІРІРѕРґ -Вывод стандартный вывод -Напишите lambda выражение для сортировки СЃРїРёСЃРєР° слов сначала РїРѕ длине, Р° затем РїРѕ алфавиту без учёта регистра. - -Примечание -Р’ решении РЅРµ должно быть ничего, РєСЂРѕРјРµ выражения. - -Пример 1 -Р’РІРѕРґ Вывод -string = 'мама мыла раму' -print(sorted(string.split(), key=<ваше выражение>)) -['мама', 'мыла', 'раму'] -Пример 2 -Р’РІРѕРґ Вывод -string = 'Яндекс использует Python РІРѕ РјРЅРѕРіРёС… проектах' -print(sorted(string.split(), key=<ваше выражение>)) -['РІРѕ', 'Python', 'РјРЅРѕРіРёС…', 'Яндекс', 'проектах', 'использует'] --1 -/md -Чётная фильтрация -Ограничение времени 1 секунда -Ограничение памяти 64.0 РњР± -Р’РІРѕРґ стандартный РІРІРѕРґ -Вывод стандартный вывод -Напишите lambda выражение для фильтрации чисел СЃ чётной СЃСѓРјРјРѕР№ цифр. - -Примечание -Р’ решении РЅРµ должно быть ничего, РєСЂРѕРјРµ выражения. - -Пример 1 -Р’РІРѕРґ Вывод -print(*filter(<ваше выражение>, (1, 2, 3, 4, 5))) -2 4 -Пример 2 -Р’РІРѕРґ Вывод -print(*filter(<ваше выражение>, (32, 64, 128, 256, 512))) -64 512 -1 -/md -Ключевой секрет -Ограничение времени 1 секунда -Ограничение памяти 64.0 РњР± -Р’РІРѕРґ стандартный РІРІРѕРґ -Вывод стандартный вывод -Вася любит секреты Рё шифрование. РћРЅ часто пользуется шифром РЅР° РѕСЃРЅРѕРІРµ замен Рё РїСЂРѕСЃРёС‚ разработать вас функцию, которая позволит ему быстро шифровать сообщения. - -Напишите функцию secret_replace(text, **replaces), которая принимает: - -текст требующий шифрования; -именованные аргументы — правила замен, представляющие СЃРѕР±РѕР№ кортежи РёР· РѕРґРЅРѕРіРѕ или нескольких значений. -Функция должна вернуть зашифрованный текст. - -Примечание -Ваше решение должно содержать только функции. -Р’ решении РЅРµ должно быть вызовов требуемых функций. - -Обратите внимание, что позиционный аргумент требуемой функции РЅРµ должен иметь однобуквенного имени. Для понимания ошибки исследуйте следующих РєРѕРґ: - -def func(a, **b): - ... - -func(1, **{'a': 2}) -Пример 1 -Р’РІРѕРґ Вывод -result = secret_replace("Hello, world!", l=("hi", "y"), o=("123", "z")) -result = 'Hehiy123, wzrhid!' -Пример 2 -Р’РІРѕРґ Вывод -result = secret_replace( - "ABRA-KADABRA", - A=("Z", "1", "!"), - B=("3",), - R=("X", "7"), - K=("G", "H"), - D=("0", "2"), -) -result = 'Z3X1-G!0Z371' --1 -/py -def make_list(length, value=0): - return [value] * length -/py -def make_matrix(size, value=0): - if type(size) is int: - return [[value] * size for _ in range(size)] - else: - return [[value] * size[0] for _ in range(size[1])] -/py -def gcd(*nums): - nums = list(nums) - for i in range(len(nums) - 1): - a, b = nums[i], nums[i + 1] - while a != b: - if a > b: - a -= b - else: - b -= a - nums[i + 1] = a - - return nums[-1] -/py -def month(num, lang="ru"): - mths = ( - ("January", "Январь"), - ("February", "Февраль"), - ("March", "Март"), - ("April", "Апрель"), - ("May", "Май"), - ("June", "РСЋРЅСЊ"), - ("July", "Рюль"), - ("August", "РђРІРіСѓСЃС‚"), - ("September", "Сентябрь"), - ("October", "Октябрь"), - ("November", "РќРѕСЏР±СЂСЊ"), - ("December", "Декабрь") - ) - if lang == "en": - return mths[num - 1][0] - else: - return mths[num - 1][1] -/py -def to_string(*nums, sep=" ", end="\n"): - res = '' - for i in range(len(nums)): - res += str(nums[i]) - if i != len(nums) - 1: - res += sep - return res + end -/py -def order(*names): - global in_stock - res = "" - message = "Рљ сожалению, РЅРµ можем предложить Вам напиток" - d = { - "Рспрессо": {"coffee": 1}, - "Капучино": {"coffee": 1, "milk": 3}, - "Макиато": {"coffee": 2, "milk": 1}, - "Кофе РїРѕ-венски": {"coffee": 1, "cream": 2}, - "Латте Макиато": {"coffee": 1, "milk": 2, "cream": 1}, - "РљРѕРЅ Панна": {"coffee": 1, "cream": 1} - } - - for cof in names: - f = True - for k in d[cof].keys(): - if d[cof][k] > in_stock[k]: - f = False - if f: - for k in d[cof].keys(): - in_stock[k] -= d[cof][k] - message = cof - break - return message -/py -def enter_results(*enter, nums=[]): - nums += list(enter) - return nums - - -def get_sum(): - sum1, sum2 = 0, 0 - for n in enter_results()[::2]: - sum1 += n - for n in enter_results()[1::2]: - sum2 += n - return sum1, sum2 - - -def get_average(): - sum1, l1, sum2, l2 = 0, 0, 0, 0 - for n in enter_results()[::2]: - sum1 += n - l1 += 1 - for n in enter_results()[1::2]: - sum2 += n - l2 += 1 - return sum1 / l1, sum2 / l2 -/py -lambda word: (len(word), word.lower()) -/py -lambda num: sum(map(int, str(num))) % 2 == 0 -/py -def secret_replace(text, **replaces): - counter = {k: 0 for k in replaces.keys()} - while True: - f = False - for k in replaces.keys(): - if k in text: - text = text.replace(k, replaces[k][counter[k]], 1) - if counter[k] >= len(replaces[k]) - 1: - counter[k] = -1 - counter[k] += 1 - f = True - if not f: - break - return text \ No newline at end of file +Боря +плохо +Как Вас Р·РѕРІСѓС‚? +Здравствуйте, Боря! +Как дела? +Р’СЃС‘ наладится! +2 \ No newline at end of file diff --git a/md1.txt b/md1.txt new file mode 100644 index 0000000..d3744cf --- /dev/null +++ b/md1.txt @@ -0,0 +1,90 @@ +/md +Просто здравствуй, просто как дела +Ограничение времени 1 секунда +Ограничение памяти 64.0 РњР± +Р’РІРѕРґ стандартный РІРІРѕРґ или input.txt +Вывод стандартный вывод или output.txt +Умение вести диалог — важный навык для воспитанного человека. + +Напишите диалоговую программу, которая сначала познакомится СЃ пользователем, Р° затем поинтересуется его настроением. + +Формат РІРІРѕРґР° +Р’ первой строке записано РёРјСЏ пользователя. +Р’Рѕ второй — ответ РЅР° РІРѕРїСЂРѕСЃ: «хорошо» или «плохо». + +Формат вывода +Р’ первой строке должен быть РІРѕРїСЂРѕСЃ «Как Вас Р·РѕРІСѓС‚?В» +Р’Рѕ второй строке — «Здравствуйте, %username%!В» +Р’ третьей строке — РІРѕРїСЂРѕСЃ «Как дела?В» +Р’ четвёртой строке реакция РЅР° ответ пользователя: + +если пользователь ответил «хорошо», следует вывести сообщение «Я Р·Р° вас рада!В»; +если пользователь ответил «плохо», следует вывести сообщение «Всё наладится!В». +Пример 1 +Р’РІРѕРґ Вывод +РђРЅСЏ +хорошо +Как Вас Р·РѕРІСѓС‚? +Здравствуйте, РђРЅСЏ! +Как дела? +РЇ Р·Р° вас рада! +Пример 2 +Р’РІРѕРґ Вывод +Боря +плохо +Как Вас Р·РѕРІСѓС‚? +Здравствуйте, Боря! +Как дела? +Р’СЃС‘ наладится! +2 +/py +name = input("Как Вас Р·РѕРІСѓС‚?\n") +print(f"Здравствуйте, {name}!") +status = input("Как дела?\n") +if status == "хорошо": + print("РЇ Р·Р° вас рада!") +else: + print("Р’СЃС‘ наладится!") +/md +a, b = int(input()), int(input()) +if a > b: + print("Петя") +else: + print("Вася") +/md +Кто быстрее? +Ограничение времени 1 секунда +Ограничение памяти 64.0 РњР± +Р’РІРѕРґ стандартный РІРІРѕРґ или input.txt +Вывод стандартный вывод или output.txt +Р’ главной велогонке РіРѕРґР° участвует более тысячи гонщиков. РРј предстоит пройти трассу длиной 43872Рј. Самая сложная Рё ответственная задача — определение победителя. + +Нам известны средние скорости РґРІСѓС… фаворитов — Пети Рё Васи. Помогите выяснить, кто РёР· РЅРёС… пришёл Рє финишу первым. + +Формат РІРІРѕРґР° +Р’ первой строке записана средняя скорость Пети. +Р’Рѕ второй — Васи. + +Формат вывода +РРјСЏ победителя РіРѕРЅРєРё. + +Примечание +Гарантируется, что победителем стал только РѕРґРёРЅ. + +Пример 1 +Р’РІРѕРґ Вывод +10 +5 +Петя +Пример 2 +Р’РІРѕРґ Вывод +5 +7 +Вася +-1 +/py +a, b = int(input()), int(input()) +if a > b: + print("Петя") +else: + print("Вася") \ No newline at end of file diff --git a/py_write.py b/py_write.py deleted file mode 100644 index f48f963..0000000 --- a/py_write.py +++ /dev/null @@ -1,8 +0,0 @@ -w_file = open("md.txt", 'a', encoding="utf-8") - -for i in range(1, 11): - in_file = open(f"4.2/{i}.py", "r", encoding="utf-8") - w_file.write("\n/py\n") - for s in in_file: - w_file.write(s) - in_file.close() \ No newline at end of file diff --git a/test.py b/test.py deleted file mode 100644 index fb4c8b8..0000000 --- a/test.py +++ /dev/null @@ -1,2 +0,0 @@ -s = " " -print(s.split()) \ No newline at end of file diff --git a/text_processor.py b/text_processor.py index 90cf212..dae20e6 100644 --- a/text_processor.py +++ b/text_processor.py @@ -4,7 +4,7 @@ arr = [] for i in file: arr.append(i.rstrip("\n")) -#print(arr) +print(arr) new_arr = [] new_arr.append(f"## **{arr.pop(0)}**") @@ -69,50 +69,28 @@ new_arr.append(f"|||{'<br>'.join(stek[:-1]).rstrip('<br>')}") file.close() input_count = stek[-1] -if len(input_count.split()) > 1: - input_count = [int(i) for i in input_count.split()] -elif input_count != "_": +if input_count != "_": input_count = int(input_count) -c = 0 - for i in range(len(new_arr)): if new_arr[i][:3] == "|||": data = new_arr[i][3:].split("<br>") if input_count == "_": data = f"|{'<br>'.join(data)}||" - elif isinstance(input_count, list): - in_c = input_count[c] - - if in_c > 0: - if 2 * in_c > len(data): - data = f"|{'<br>'.join(data[:in_c])}<br>|{'<br>'.join(data[in_c:])}<br>{'<br>'.join([' '] * (2 * in_c - len(data)))}<br>|" - elif 2 * in_c == len(data): - data = f"|{'<br>'.join(data[:in_c])}<br>|{'<br>'.join(data[in_c:])}<br>|" - else: - data = f"|{'<br>'.join(data[:in_c])}<br>{'<br>'.join([' '] * (len(data) - 2 * in_c))}<br>|{'<br>'.join(data[in_c:])}<br>|" - else: - if -2 * in_c > len(data): - data = f"|{'<br>'.join(data[:len(data) + in_c])}<br>{'<br>'.join([' '] * (-2 * in_c - len(data)))}<br>|{'<br>'.join(data[:-1 * in_c])}<br>|" - elif -2 * in_c == len(data): - data = f"|{'<br>'.join(data[:-1 * in_c])}<br>|{'<br>'.join(data[-1 * in_c:])}<br>|" - else: - data = f"|{'<br>'.join(data[:len(data) + in_c])}<br>|{'<br>'.join(data[len(data) + in_c:])}<br>{'<br>'.join([' '] * (len(data) - -2 * in_c))}<br>|" - c += 1 elif input_count > 0: if 2 * input_count > len(data): - data = f"|{'<br>'.join(data[:input_count])}<br>|{'<br>'.join(data[input_count:])}<br>{'<br>'.join([' '] * (2 * input_count - len(data)))}<br>|" + data = f"|{'<br>'.join(data[:input_count])}|{'<br>'.join(data[input_count:])}<br>{'<br>'.join([' '] * (2 * input_count - len(data)))}<br>|" elif 2 * input_count == len(data): - data = f"|{'<br>'.join(data[:input_count])}<br>|{'<br>'.join(data[input_count:])}<br>|" + data = f"|{'<br>'.join(data[:input_count])}|{'<br>'.join(data[input_count:])}|" else: data = f"|{'<br>'.join(data[:input_count])}<br>{'<br>'.join([' '] * (len(data) - 2 * input_count))}<br>|{'<br>'.join(data[input_count:])}<br>|" else: if -2 * input_count > len(data): - data = f"|{'<br>'.join(data[:len(data) + input_count])}<br>{'<br>'.join([' '] * (-2 * input_count - len(data)))}<br>|{'<br>'.join(data[:-1 * input_count])}<br>|" + data = f"|{'<br>'.join(data[:len(data) + input_count])}<br>{'<br>'.join([' '] * (-2 * input_count - len(data)))}<br>|{'<br>'.join(data[:-1 * input_count])}|" elif -2 * input_count == len(data): - data = f"|{'<br>'.join(data[:-1 * input_count])}<br>|{'<br>'.join(data[-1 * input_count:])}<br>|" + data = f"|{'<br>'.join(data[:-1 * input_count])}|{'<br>'.join(data[-1 * input_count:])}|" else: - data = f"|{'<br>'.join(data[:len(data) + input_count])}<br>|{'<br>'.join(data[len(data) + input_count:])}<br>{'<br>'.join([' '] * (len(data) - -2 * input_count))}<br>|" + data = f"|{'<br>'.join(data[:len(data) + input_count])}|{'<br>'.join(data[len(data) + input_count:])}<br>{'<br>'.join([' '] * (len(data) - -2 * input_count))}<br>|" new_arr[i] = data @@ -121,8 +99,6 @@ for i in range(len(new_arr)): if new_arr[i] and (new_arr[i][0] == "|" or new_arr[i][0] == "#"): continue elems = new_arr[i].split("<br>") - - # ВЫДЕЛАЕТ ОТДЕЛЬНЫЕ БУКВЫ del_ind = [] for j in range(len(elems) - 1): if len(elems[j]) == 1 and elems[j] == elems[j + 1][0]: @@ -132,139 +108,9 @@ for i in range(len(new_arr)): for j in del_ind[::-1]: if j: buff = elems.pop(j + 1) - if elems[j - 1][-1] == ".": - elems[j] = "$" + buff[0] + "$" + buff[1:] - else: - elems[j - 1] = elems[j - 1] + "$" + buff[0] + "$" + buff[1:] - del elems[j] - - - # ВЫДЕЛЯЕТ ВЫРАЖЕНРРЇ - del_ind = [] - for j in range(len(elems)): - if not elems[j]: - continue - string = elems[j].split() - first_word = string[0] - if len(first_word) <= j and ''.join(elems[j - len(first_word):j]) == first_word: - f = False - signs = ["+", "-", "*", "/", "%", "=", "<", ">", "≤", "≥"] - for sign in signs: - if sign in first_word: - f = True - - if not f: - continue - - del_ind.append([count for count in range(j - len(first_word), j)]) - - if del_ind: - for j in del_ind[::-1]: - ind = j[-1] + 1 - buff = elems[ind].split() - if elems[j[0] - 1][-1] == ".": - elems[ind] = "$" + buff[0] + "$ " + " ".join(buff[1:]) - for k in j[::-1]: - if k: - del elems[k] - else: - elems[j[0] - 1] = elems[j[0] - 1] + "$" + buff[0] + "$ " + ' '.join(buff[1:]) - del elems[ind] - for k in j[::-1]: - if k: - del elems[k] - - - # ВЫДЕЛЯЕТ ДРУГРР• ВЫРАЖЕНРРЇ - del_ind = [] - for j in range(len(elems) - 1): - if not elems[j]: - continue - eq = elems[j].split()[0] - f = False - - signs = ["+", "-", "*", "/", "%", "=", "<", ">", "≤", "≥"] - for num in range(10): - signs.append(str(num)) - - for sign in signs: - if sign in eq: - f = True - - if not f or len(eq) == 1: - continue - - print(eq) - if ")" in eq: - eq = eq[:eq.index(")")] - if " " in eq: - eq = eq[:-1] - - if elems[j - 1] == elems[j + 1]: - f = False - for ind in range(j - 3, -1, -1): - if eq == "".join(elems[ind:j - 1]): - f = True - break - if not f: - continue - del_ind.append([count for count in range(ind, j - 1)] + [j - 1, False]) - else: - f = False - for ind in range(j - 2, -1, -1): - if eq == "".join(elems[ind:j]): - f = True - break - if not f: - continue - del_ind.append([count for count in range(ind, j)] + [True]) - - if del_ind: - for j in del_ind[::-1]: - if j[-1]: - buff = elems.pop(j[-2] + 1) - if ")" in buff: - ind = buff.index(")") - elems[j[0] - 1] = elems[j[0] - 1] + "$" + buff[:ind] + "$" + buff[ind:] - else: - elems[j[0] - 1] = elems[j[0] - 1] + "$" + buff + "$" - for k in j[::-1][1:]: - del elems[k] - else: - buff = elems.pop(j[-2] + 1) - - elems[j[0] - 1] = elems[j[0] - 1] + "$" + buff[:-1] + "^" + elems[j[-2]] + "$" - elems[j[0] - 1] = elems[j[0] - 1] + elems[j[-2] + 2][1:] - - del elems[j[-2] + 2] - del elems[j[-2] + 1] - del elems[j[-2]] - for k in j[::-1][2:]: - del elems[k] - - - - # ДЕЛАЕТ $x_i$ - del_ind = [] - for j in range(len(elems) - 4): - if [elems[j] + " ", elems[j + 1]] == [elems[j + 2], elems[j + 3]] and elems[j + 4] == "\u200b": - del_ind.append([j, j + 1]) - - - if del_ind: - for j in del_ind[::-1]: - if j: - buff = f"${elems[j[0]]}_{elems[j[1]]}$" - if j[0] != 0: - elems[j[0] - 1] = elems[j[0] - 1] + buff + elems[j[1] + 4][1:] - else: - elems[j[0]] = buff + elems[j[1] + 4][1:] - - for count in range(4, -1, -1): - del elems[j[1] + count] - if j[0] != 0: - del elems[j[0]] - + elems[j - 1] = elems[j - 1] + "$" + buff[0] + "$" + buff[1:] + del elems[j] + new_arr[i] = "<br>".join(elems) new_file = open("md1.txt", "w+", encoding="utf-8") diff --git a/text_processor2.py b/text_processor2.py index 36946ad..0cd74c7 100644 --- a/text_processor2.py +++ b/text_processor2.py @@ -2,7 +2,6 @@ import codecs import json def text_process(arr): - new_arr = [] new_arr.append(f"## **{arr.pop(0)}**") @@ -66,50 +65,28 @@ def text_process(arr): new_arr.append(f"|||{'<br>'.join(stek[:-1]).rstrip('<br>')}") input_count = stek[-1] - if len(input_count.split()) > 1: - input_count = [int(i) for i in input_count.split()] - elif input_count != "_": + if input_count != "_": input_count = int(input_count) - c = 0 - for i in range(len(new_arr)): if new_arr[i][:3] == "|||": data = new_arr[i][3:].split("<br>") if input_count == "_": data = f"|{'<br>'.join(data)}||" - elif isinstance(input_count, list): - in_c = input_count[c] - - if in_c > 0: - if 2 * in_c > len(data): - data = f"|{'<br>'.join(data[:in_c])}<br>|{'<br>'.join(data[in_c:])}<br>{'<br>'.join([' '] * (2 * in_c - len(data)))}<br>|" - elif 2 * in_c == len(data): - data = f"|{'<br>'.join(data[:in_c])}<br>|{'<br>'.join(data[in_c:])}<br>|" - else: - data = f"|{'<br>'.join(data[:in_c])}<br>{'<br>'.join([' '] * (len(data) - 2 * in_c))}<br>|{'<br>'.join(data[in_c:])}<br>|" - else: - if -2 * in_c > len(data): - data = f"|{'<br>'.join(data[:len(data) + in_c])}<br>{'<br>'.join([' '] * (-2 * in_c - len(data)))}<br>|{'<br>'.join(data[:-1 * in_c])}<br>|" - elif -2 * in_c == len(data): - data = f"|{'<br>'.join(data[:-1 * in_c])}<br>|{'<br>'.join(data[-1 * in_c:])}<br>|" - else: - data = f"|{'<br>'.join(data[:len(data) + in_c])}<br>|{'<br>'.join(data[len(data) + in_c:])}<br>{'<br>'.join([' '] * (len(data) - -2 * in_c))}<br>|" - c += 1 elif input_count > 0: if 2 * input_count > len(data): - data = f"|{'<br>'.join(data[:input_count])}<br>|{'<br>'.join(data[input_count:])}<br>{'<br>'.join([' '] * (2 * input_count - len(data)))}<br>|" + data = f"|{'<br>'.join(data[:input_count])}|{'<br>'.join(data[input_count:])}<br>{'<br>'.join([' '] * (2 * input_count - len(data)))}<br>|" elif 2 * input_count == len(data): - data = f"|{'<br>'.join(data[:input_count])}<br>|{'<br>'.join(data[input_count:])}<br>|" + data = f"|{'<br>'.join(data[:input_count])}|{'<br>'.join(data[input_count:])}|" else: data = f"|{'<br>'.join(data[:input_count])}<br>{'<br>'.join([' '] * (len(data) - 2 * input_count))}<br>|{'<br>'.join(data[input_count:])}<br>|" else: if -2 * input_count > len(data): - data = f"|{'<br>'.join(data[:len(data) + input_count])}<br>{'<br>'.join([' '] * (-2 * input_count - len(data)))}<br>|{'<br>'.join(data[:-1 * input_count])}<br>|" + data = f"|{'<br>'.join(data[:len(data) + input_count])}<br>{'<br>'.join([' '] * (-2 * input_count - len(data)))}<br>|{'<br>'.join(data[:-1 * input_count])}|" elif -2 * input_count == len(data): - data = f"|{'<br>'.join(data[:-1 * input_count])}<br>|{'<br>'.join(data[-1 * input_count:])}<br>|" + data = f"|{'<br>'.join(data[:-1 * input_count])}|{'<br>'.join(data[-1 * input_count:])}|" else: - data = f"|{'<br>'.join(data[:len(data) + input_count])}<br>|{'<br>'.join(data[len(data) + input_count:])}<br>{'<br>'.join([' '] * (len(data) - -2 * input_count))}<br>|" + data = f"|{'<br>'.join(data[:len(data) + input_count])}|{'<br>'.join(data[len(data) + input_count:])}<br>{'<br>'.join([' '] * (len(data) - -2 * input_count))}<br>|" new_arr[i] = data @@ -118,8 +95,6 @@ def text_process(arr): if new_arr[i] and (new_arr[i][0] == "|" or new_arr[i][0] == "#"): continue elems = new_arr[i].split("<br>") - - # ВЫДЕЛАЕТ ОТДЕЛЬНЫЕ БУКВЫ del_ind = [] for j in range(len(elems) - 1): if len(elems[j]) == 1 and elems[j] == elems[j + 1][0]: @@ -129,139 +104,11 @@ def text_process(arr): for j in del_ind[::-1]: if j: buff = elems.pop(j + 1) - if elems[j - 1][-1] == ".": - elems[j] = "$" + buff[0] + "$" + buff[1:] - else: - elems[j - 1] = elems[j - 1] + "$" + buff[0] + "$" + buff[1:] - del elems[j] - - - # ВЫДЕЛЯЕТ ВЫРАЖЕНРРЇ - del_ind = [] - for j in range(len(elems)): - if not elems[j]: - continue - string = elems[j].split() - first_word = string[0] - if len(first_word) <= j and ''.join(elems[j - len(first_word):j]) == first_word: - f = False - signs = ["+", "-", "*", "/", "%", "=", "<", ">", "≤", "≥"] - for sign in signs: - if sign in first_word: - f = True - - if not f: - continue - - del_ind.append([count for count in range(j - len(first_word), j)]) - - if del_ind: - for j in del_ind[::-1]: - ind = j[-1] + 1 - buff = elems[ind].split() - if elems[j[0] - 1][-1] == ".": - elems[ind] = "$" + buff[0] + "$ " + " ".join(buff[1:]) - for k in j[::-1]: - if k: - del elems[k] - else: - elems[j[0] - 1] = elems[j[0] - 1] + "$" + buff[0] + "$ " + ' '.join(buff[1:]) - del elems[ind] - for k in j[::-1]: - if k: - del elems[k] - - - # ВЫДЕЛЯЕТ ДРУГРР• ВЫРАЖЕНРРЇ - del_ind = [] - for j in range(len(elems) - 1): - if not elems[j]: - continue - eq = elems[j].split()[0] - f = False - - signs = ["+", "-", "*", "/", "%", "=", "<", ">", "≤", "≥"] - for num in range(10): - signs.append(str(num)) - - for sign in signs: - if sign in eq: - f = True - - if not f or len(eq) == 1: - continue - - if ")" in eq: - eq = eq[:eq.index(")")] - if " " in eq: - eq = eq[:-1] - - if elems[j - 1] == elems[j + 1]: - f = False - for ind in range(j - 3, -1, -1): - if eq == "".join(elems[ind:j - 1]): - f = True - break - if not f: - continue - del_ind.append([count for count in range(ind, j - 1)] + [j - 1, False]) - else: - f = False - for ind in range(j - 2, -1, -1): - if eq == "".join(elems[ind:j]): - f = True - break - if not f: - continue - del_ind.append([count for count in range(ind, j)] + [True]) - - if del_ind: - for j in del_ind[::-1]: - if j[-1]: - buff = elems.pop(j[-2] + 1) - if ")" in buff: - ind = buff.index(")") - elems[j[0] - 1] = elems[j[0] - 1] + "$" + buff[:ind] + "$" + buff[ind:] - else: - elems[j[0] - 1] = elems[j[0] - 1] + "$" + buff + "$" - for k in j[::-1][1:]: - del elems[k] - else: - buff = elems.pop(j[-2] + 1) - - elems[j[0] - 1] = elems[j[0] - 1] + "$" + buff[:-1] + "^" + elems[j[-2]] + "$" - elems[j[0] - 1] = elems[j[0] - 1] + elems[j[-2] + 2][1:] - - del elems[j[-2] + 2] - del elems[j[-2] + 1] - del elems[j[-2]] - for k in j[::-1][2:]: - del elems[k] - - + elems[j - 1] = elems[j - 1] + "$" + buff[0] + "$" + buff[1:] + del elems[j] + + new_arr[i] = "<br>".join(elems) - # ДЕЛАЕТ $x_i$ - del_ind = [] - for j in range(len(elems) - 4): - if [elems[j] + " ", elems[j + 1]] == [elems[j + 2], elems[j + 3]] and elems[j + 4] == "\u200b": - del_ind.append([j, j + 1]) - - - if del_ind: - for j in del_ind[::-1]: - if j: - buff = f"${elems[j[0]]}_{elems[j[1]]}$" - if j[0] != 0: - elems[j[0] - 1] = elems[j[0] - 1] + buff + elems[j[1] + 4][1:] - else: - elems[j[0]] = buff + elems[j[1] + 4][1:] - - for count in range(4, -1, -1): - del elems[j[1] + count] - if j[0] != 0: - del elems[j[0]] - - new_arr[i] = "<br>".join(elems) return new_arr @@ -296,13 +143,7 @@ data = {'cells':[], 'nbformat': 4, 'nbformat_minor': 2} -arr1, arr2 = arr[:len(arr) // 2], arr[len(arr) // 2:] -task_ammount = int(input("Введите количество заданий: ")) -for i in range(0, 2 * task_ammount - 1, 2): - arr[i] = arr1[i // 2] - arr[i + 1] = arr2[i // 2] - -# print(*arr, sep="\n") +print(*arr, sep="\n") for i in range(len(arr)): if i % 2 == 0: py_data = {'cell_type': 'markdown', -- GitLab