<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.cs.hse.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=188.123.252.201</id>
	<title>Wiki - Факультет компьютерных наук - Вклад [ru]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cs.hse.ru/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=188.123.252.201"/>
	<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/188.123.252.201"/>
	<updated>2026-09-24T01:23:59Z</updated>
	<subtitle>Вклад</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D1%8F_%D0%BF%D0%BE_%D0%BA%D1%83%D1%80%D1%81%D1%83_%D0%9E%D0%B8%D0%9C%D0%9F&amp;diff=70</id>
		<title>Практические занятия по курсу ОиМП</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D1%8F_%D0%BF%D0%BE_%D0%BA%D1%83%D1%80%D1%81%D1%83_%D0%9E%D0%B8%D0%9C%D0%9F&amp;diff=70"/>
		<updated>2014-09-13T06:40:34Z</updated>

		<summary type="html">&lt;p&gt;188.123.252.201: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Полезные ссылки===&lt;br /&gt;
Для выполнения заданий необходимо [https://www.python.org/download установить интерпретатор Python].&lt;br /&gt;
&lt;br /&gt;
[http://legacy.python.org/dev/peps/pep-0008 Style guide].&lt;br /&gt;
&lt;br /&gt;
[https://groups.google.com/forum/?hl=ru#!forum/amcs105-1 Форум.]&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/i/FBgNvf4nbQ4Jq Задачи, которые точно нужно уметь решать.] &lt;br /&gt;
&lt;br /&gt;
===Рекомендации по выполнению===&lt;br /&gt;
# Не используйте wildcard imports (from &amp;lt;module&amp;gt; import *), см. [http://legacy.python.org/dev/peps/pep-0008/#imports PEP8].&lt;br /&gt;
# Знак присваивания обособляйте пробелами с двух сторон. Плохо: a=b. Хорошо: a = b.&lt;br /&gt;
# Если требуется сравнить два числа с плавающей точкой (float) на равенство, то сравнивайте модуль их разницы с некоторым eps: |d1 - d2| &amp;lt; 0.0000001.&lt;br /&gt;
&lt;br /&gt;
===Задание 1. Ввод-вывод===&lt;br /&gt;
[http://official.contest.yandex.ru/contest/642/ Задачи.]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1LqW4k7heilZ8i1B7NCMGcr41kd5Pz1gIyD5rrOyGZjI/edit?usp=sharing Список обязательных задач для каждого студента.]&lt;br /&gt;
&lt;br /&gt;
===Задание 2.===&lt;br /&gt;
Перед выполнением задания нужно установить библиотеку [http://pillow.readthedocs.org/en/latest/ Pillow].&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/d/AS6_eEzyb7aHH Задачи.]&lt;br /&gt;
&lt;br /&gt;
Замечание. Доступ к элементам pixels осуществляется так: pixels[i,j].&lt;br /&gt;
&lt;br /&gt;
====Бонусные задачи====&lt;br /&gt;
# Реализуйте масштабирование.&lt;br /&gt;
# Реализуйте отражение.&lt;br /&gt;
# Реализуйте размытие.&lt;br /&gt;
# Напишите свой фильтр для обработки изображений.&lt;br /&gt;
&lt;br /&gt;
===Задание 3===&lt;br /&gt;
Решите 20 любых задач из [http://official.contest.yandex.ru/contest/642/ контеста Ввод-вывод].&lt;br /&gt;
&lt;br /&gt;
====Бонусное задание. Шифрование RSA====&lt;br /&gt;
# Реализуйте [https://ru.wikipedia.org/wiki/RSA#.D0.90.D0.BB.D0.B3.D0.BE.D1.80.D0.B8.D1.82.D0.BC_.D1.81.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D1.8F_.D0.BE.D1.82.D0.BA.D1.80.D1.8B.D1.82.D0.BE.D0.B3.D0.BE_.D0.B8_.D1.81.D0.B5.D0.BA.D1.80.D0.B5.D1.82.D0.BD.D0.BE.D0.B3.D0.BE_.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.B9 алгоритм создания открытого и секретного ключей].&lt;br /&gt;
# Реализуйте [https://ru.wikipedia.org/wiki/RSA#.D0.A8.D0.B8.D1.84.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D0.B8_.D1.80.D0.B0.D1.81.D1.88.D0.B8.D1.84.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5 алгоритмы шифрования и дешифрования]. Проверьте, что они работают.&lt;br /&gt;
# Реализуйте алгоритм взлома. Функция должна принимать аргументы c, n и m (см. обозначения в Википедии) и возвращать d, приватный ключ, такое что m == c^d mod n.&lt;br /&gt;
# Научитесь замерять время выполнения каждой из четырёх функций (функции генерации ключей, шифрования, дешифрования и взлома).&lt;br /&gt;
# Выберите некоторое значение m, например, m=100. Выведите таблицу:&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!n=11*13=143&lt;br /&gt;
!n=17*31=527&lt;br /&gt;
!n=109*157=17113&lt;br /&gt;
!n=3557*2579=9173505&lt;br /&gt;
!n=3533*3571=12616343&lt;br /&gt;
|-&lt;br /&gt;
!e=3&lt;br /&gt;
|||||||||&lt;br /&gt;
|-&lt;br /&gt;
!e=17&lt;br /&gt;
|||||||||&lt;br /&gt;
|-&lt;br /&gt;
!e=257&lt;br /&gt;
|||||||||&lt;br /&gt;
|-&lt;br /&gt;
!e=65537&lt;br /&gt;
|||||||||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
На пересечении i-ой строки и j-ого столбца должно стоять четыре неотрицательных числа --- время работы каждого из четырёх алгоритмов при заданных e и n. Если данное e не взаимно просто с n, поставить прочерк.&lt;/div&gt;</summary>
		<author><name>188.123.252.201</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D1%8F_%D0%BF%D0%BE_%D0%BA%D1%83%D1%80%D1%81%D1%83_%D0%9E%D0%B8%D0%9C%D0%9F&amp;diff=69</id>
		<title>Практические занятия по курсу ОиМП</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D1%8F_%D0%BF%D0%BE_%D0%BA%D1%83%D1%80%D1%81%D1%83_%D0%9E%D0%B8%D0%9C%D0%9F&amp;diff=69"/>
		<updated>2014-09-13T06:24:20Z</updated>

		<summary type="html">&lt;p&gt;188.123.252.201: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Подготовка к занятиям===&lt;br /&gt;
Для выполнения заданий необходимо [https://www.python.org/download установить интерпретатор Python].&lt;br /&gt;
&lt;br /&gt;
[http://legacy.python.org/dev/peps/pep-0008 Style guide].&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/i/FBgNvf4nbQ4Jq Задачи, которые точно нужно уметь решать.] &lt;br /&gt;
&lt;br /&gt;
===Рекомендации по выполнению===&lt;br /&gt;
# Не используйте wildcard imports (from &amp;lt;module&amp;gt; import *), см. [http://legacy.python.org/dev/peps/pep-0008/#imports PEP8].&lt;br /&gt;
# Знак присваивания обособляйте пробелами с двух сторон. Плохо: a=b. Хорошо: a = b.&lt;br /&gt;
# Если требуется сравнить два числа с плавающей точкой (float) на равенство, то сравнивайте модуль их разницы с некоторым eps: |d1 - d2| &amp;lt; 0.0000001.&lt;br /&gt;
&lt;br /&gt;
===Задание 1. Ввод-вывод===&lt;br /&gt;
[http://official.contest.yandex.ru/contest/642/ Задачи.]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1LqW4k7heilZ8i1B7NCMGcr41kd5Pz1gIyD5rrOyGZjI/edit?usp=sharing Список обязательных задач для каждого студента.]&lt;br /&gt;
&lt;br /&gt;
===Задание 2.===&lt;br /&gt;
Перед выполнением задания нужно установить библиотеку [http://pillow.readthedocs.org/en/latest/ Pillow].&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/d/AS6_eEzyb7aHH Задачи.]&lt;br /&gt;
&lt;br /&gt;
Замечание. Доступ к элементам pixels осуществляется так: pixels[i,j].&lt;br /&gt;
&lt;br /&gt;
====Бонусные задачи====&lt;br /&gt;
# Реализуйте масштабирование.&lt;br /&gt;
# Реализуйте отражение.&lt;br /&gt;
# Реализуйте размытие.&lt;br /&gt;
# Напишите свой фильтр для обработки изображений.&lt;br /&gt;
&lt;br /&gt;
===Задание 3===&lt;br /&gt;
Решите 20 любых задач из [http://official.contest.yandex.ru/contest/642/ контеста Ввод-вывод].&lt;br /&gt;
&lt;br /&gt;
====Бонусное задание. Шифрование RSA====&lt;br /&gt;
# Реализуйте [https://ru.wikipedia.org/wiki/RSA#.D0.90.D0.BB.D0.B3.D0.BE.D1.80.D0.B8.D1.82.D0.BC_.D1.81.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D1.8F_.D0.BE.D1.82.D0.BA.D1.80.D1.8B.D1.82.D0.BE.D0.B3.D0.BE_.D0.B8_.D1.81.D0.B5.D0.BA.D1.80.D0.B5.D1.82.D0.BD.D0.BE.D0.B3.D0.BE_.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.B9 алгоритм создания открытого и секретного ключей].&lt;br /&gt;
# Реализуйте [https://ru.wikipedia.org/wiki/RSA#.D0.A8.D0.B8.D1.84.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D0.B8_.D1.80.D0.B0.D1.81.D1.88.D0.B8.D1.84.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5 алгоритмы шифрования и дешифрования]. Проверьте, что они работают.&lt;br /&gt;
# Реализуйте алгоритм взлома. Функция должна принимать аргументы c, n и m (см. обозначения в Википедии) и возвращать d, приватный ключ, такое что m == c^d mod n.&lt;br /&gt;
# Научитесь замерять время выполнения каждой из четырёх функций (функции генерации ключей, шифрования, дешифрования и взлома).&lt;br /&gt;
# Выберите некоторое значение m, например, m=100. Выведите таблицу:&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!n=11*13=143&lt;br /&gt;
!n=17*31=527&lt;br /&gt;
!n=109*157=17113&lt;br /&gt;
!n=3557*2579=9173505&lt;br /&gt;
!n=3533*3571=12616343&lt;br /&gt;
|-&lt;br /&gt;
!e=3&lt;br /&gt;
|||||||||&lt;br /&gt;
|-&lt;br /&gt;
!e=17&lt;br /&gt;
|||||||||&lt;br /&gt;
|-&lt;br /&gt;
!e=257&lt;br /&gt;
|||||||||&lt;br /&gt;
|-&lt;br /&gt;
!e=65537&lt;br /&gt;
|||||||||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
На пересечении i-ой строки и j-ого столбца должно стоять четыре неотрицательных числа --- время работы каждого из четырёх алгоритмов при заданных e и n. Если данное e не взаимно просто с n, поставить прочерк.&lt;/div&gt;</summary>
		<author><name>188.123.252.201</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D1%8F_%D0%BF%D0%BE_%D0%BA%D1%83%D1%80%D1%81%D1%83_%D0%9E%D0%B8%D0%9C%D0%9F&amp;diff=68</id>
		<title>Практические занятия по курсу ОиМП</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D1%8F_%D0%BF%D0%BE_%D0%BA%D1%83%D1%80%D1%81%D1%83_%D0%9E%D0%B8%D0%9C%D0%9F&amp;diff=68"/>
		<updated>2014-09-12T21:59:52Z</updated>

		<summary type="html">&lt;p&gt;188.123.252.201: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Подготовка к занятиям===&lt;br /&gt;
Для выполнения заданий необходимо [https://www.python.org/download установить интерпретатор Python].&lt;br /&gt;
&lt;br /&gt;
[http://legacy.python.org/dev/peps/pep-0008 Style guide].&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/i/FBgNvf4nbQ4Jq Задачи, которые точно нужно уметь решать.] &lt;br /&gt;
&lt;br /&gt;
===Рекомендации по выполнению===&lt;br /&gt;
# Не используйте wildcard imports (from &amp;lt;module&amp;gt; import *), см. [http://legacy.python.org/dev/peps/pep-0008/#imports PEP8].&lt;br /&gt;
# Знак присваивания обособляйте пробелами с двух сторон. Плохо: a=b. Хорошо: a = b.&lt;br /&gt;
# Если требуется сравнить два числа с плавающей точкой (float) на равенство, то сравнивайте модуль их разницы с некоторым eps: |d1 - d2| &amp;lt; 0.0000001.&lt;br /&gt;
&lt;br /&gt;
===Задание 1. Ввод-вывод===&lt;br /&gt;
[http://official.contest.yandex.ru/contest/642/ Задачи.]&lt;br /&gt;
&lt;br /&gt;
[https://docs.google.com/spreadsheets/d/1LqW4k7heilZ8i1B7NCMGcr41kd5Pz1gIyD5rrOyGZjI/edit?usp=sharing Список обязательных задач для каждого студента.]&lt;br /&gt;
&lt;br /&gt;
===Задание 2.===&lt;br /&gt;
Перед выполнением задания нужно установить библиотеку [http://pillow.readthedocs.org/en/latest/ Pillow].&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/d/AS6_eEzyb7aHH Задачи.]&lt;br /&gt;
&lt;br /&gt;
Замечание. Доступ к элементам pixels осуществляется так: pixels[i,j].&lt;br /&gt;
&lt;br /&gt;
====Бонусные задачи====&lt;br /&gt;
# Реализуйте масштабирование.&lt;br /&gt;
# Реализуйте отражение.&lt;br /&gt;
# Реализуйте размытие.&lt;br /&gt;
# Напишите свой фильтр для обработки изображений.&lt;br /&gt;
&lt;br /&gt;
===Задание 3===&lt;br /&gt;
Решите 20 любых задач из [http://official.contest.yandex.ru/contest/642/ контеста Ввод-вывод].&lt;br /&gt;
&lt;br /&gt;
====Бонусное задание. Шифрование RSA====&lt;br /&gt;
# Реализуйте [https://ru.wikipedia.org/wiki/RSA#.D0.90.D0.BB.D0.B3.D0.BE.D1.80.D0.B8.D1.82.D0.BC_.D1.81.D0.BE.D0.B7.D0.B4.D0.B0.D0.BD.D0.B8.D1.8F_.D0.BE.D1.82.D0.BA.D1.80.D1.8B.D1.82.D0.BE.D0.B3.D0.BE_.D0.B8_.D1.81.D0.B5.D0.BA.D1.80.D0.B5.D1.82.D0.BD.D0.BE.D0.B3.D0.BE_.D0.BA.D0.BB.D1.8E.D1.87.D0.B5.D0.B9 алгоритм создания открытого и секретного ключей].&lt;br /&gt;
# Реализуйте [https://ru.wikipedia.org/wiki/RSA#.D0.A8.D0.B8.D1.84.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5_.D0.B8_.D1.80.D0.B0.D1.81.D1.88.D0.B8.D1.84.D1.80.D0.BE.D0.B2.D0.B0.D0.BD.D0.B8.D0.B5 алгоритмы шифрования и дешифрования]. Проверьте, что они работают.&lt;br /&gt;
# Реализуйте алгоритм взлома. Функция должна принимать аргументы c, n и m (см. обозначения в Википедии) и возвращать d, приватный ключ, такое что m == c^d mod n.&lt;br /&gt;
# Научитесь замерять время выполнения каждой из четырёх функий&lt;br /&gt;
# Выберите некоторое значение m, например, m=100. Выведите таблицу:&lt;br /&gt;
{|border=&amp;quot;1&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
!n=11*13=143&lt;br /&gt;
!n=17*31=527&lt;br /&gt;
!n=109*157=17113&lt;br /&gt;
!n=3557*2579=9173505&lt;br /&gt;
!n=3533*3571=12616343&lt;br /&gt;
|-&lt;br /&gt;
!e=3&lt;br /&gt;
|||||||||&lt;br /&gt;
|-&lt;br /&gt;
!e=17&lt;br /&gt;
|||||||||&lt;br /&gt;
|-&lt;br /&gt;
!e=257&lt;br /&gt;
|||||||||&lt;br /&gt;
|-&lt;br /&gt;
!e=65537&lt;br /&gt;
|||||||||&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
На пересечении i-ой строки и j-ого столбца должно стоять четыре неотрицательных числа --- время работы каждого из четырёх алгоритмов при заданных e и n. Если данное e не взаимно просто с n, поставить прочерк.&lt;/div&gt;</summary>
		<author><name>188.123.252.201</name></author>
	</entry>
	<entry>
		<id>https://wiki.cs.hse.ru/index.php?title=%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D1%8F_%D0%BF%D0%BE_%D0%BA%D1%83%D1%80%D1%81%D1%83_%D0%9E%D0%B8%D0%9C%D0%9F&amp;diff=63</id>
		<title>Практические занятия по курсу ОиМП</title>
		<link rel="alternate" type="text/html" href="https://wiki.cs.hse.ru/index.php?title=%D0%9F%D1%80%D0%B0%D0%BA%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B5_%D0%B7%D0%B0%D0%BD%D1%8F%D1%82%D0%B8%D1%8F_%D0%BF%D0%BE_%D0%BA%D1%83%D1%80%D1%81%D1%83_%D0%9E%D0%B8%D0%9C%D0%9F&amp;diff=63"/>
		<updated>2014-09-08T20:52:23Z</updated>

		<summary type="html">&lt;p&gt;188.123.252.201: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Подготовка к занятиям===&lt;br /&gt;
Для выполнения заданий необходимо [https://www.python.org/download установить интерпретатор Python].&lt;br /&gt;
&lt;br /&gt;
[http://legacy.python.org/dev/peps/pep-0008 Style guide].&lt;br /&gt;
&lt;br /&gt;
===Занятие 1. Ввод-вывод===&lt;br /&gt;
[http://official.contest.yandex.ru/contest/642/ Задачи.]&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;mw-collapsible mw-collapsed&amp;quot;&lt;br /&gt;
! Рекомендации по выполнению&lt;br /&gt;
|-&lt;br /&gt;
| 1. Не используйте wildcard imports (from &amp;lt;module&amp;gt; import *), см. [http://legacy.python.org/dev/peps/pep-0008/#imports PEP8].&lt;br /&gt;
|-&lt;br /&gt;
| 2. Знак присваивания обособляйте пробелами с двух сторон. Плохо: a=b. Хорошо: a = b.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Занятие 2.===&lt;br /&gt;
Перед выполнением задания нужно установить библиотеку [http://pillow.readthedocs.org/en/latest/ Pillow].&lt;br /&gt;
&lt;br /&gt;
[https://yadi.sk/d/AS6_eEzyb7aHH Задачи.]&lt;br /&gt;
&lt;br /&gt;
Замечание. Доступ к элементам pixels осуществляется так: pixels[i,j].&lt;/div&gt;</summary>
		<author><name>188.123.252.201</name></author>
	</entry>
</feed>