Program shifr; var s1,s2: string; i,n,k,p: integer; key: integer; //ключ шифрования f1,f2: text; begin assign(f1,'dannie.txt'); assign(f2,'shifr.txt'); reset(f1); rewrite(f2); writeln('введите ключ шифрования от 1 до 33: '); readln(key); while not(eof(f1)) do begin readln(f1,s1); s2: =''; for i: =1 to length(s1) do s2: =s2+chr(ord(s1[i])+key); writeln(f2,s2); end; close(f1); close(f2); end. создать программы шифрации и дешифрации для следующего модифицированного алгоритма цезаря: ключ шифрования 4 цифры (каждая цифра от 1 до 9), 1 цифра определяет сдвиг 1 симовла шифруемого текста, 2 цифра — 2 символа, 3 цифра — 3 символа, 4 цифра — 4 символа, а для пятого символа снова 1 цифра ключа и т. д.
244
498
Ответы на вопрос:
Program shifr; var s1,s2,alf,key: string; i,n, kod: integer; f1,f2: text; begin alf: ='абвгдеёжзийклмнопрстуфхцчшщъыьэюя'; assign(f1,'dannie.txt'); assign(f2,'shifr.txt'); reset(f1); rewrite(f2); writeln('введите четырехзначный ключ шифрования: '); readln(key); n: =0; while not(eof(f1)) do begin readln(f1,s1); s2: =''; for i: =1 to length(s1) do begin kod: =pos(s1[i],alf); n: =n+1; if n> 4 then n: =1; kod: =kod+strtoint(key[n]); if kod> 33 then kod: =kod-33; if kod< 1 then kod: =kod+33; s2: =s2+alf[kod]; end; writeln(f2,s2); end; close(f1); close(f2); end. program deshifr; var s1,s2,alf,key: string; i,n,kod: integer; f1,f2: text; begin alf: ='абвгдеёжзийклмнопрстуфхцчшщъыьэюя'; assign(f1,'shifr.txt'); assign(f2,'deshifr.txt'); reset(f1); rewrite(f2); writeln('введите четырехзначный ключ шифрования: '); readln(key); n: =0; while not(eof(f1)) do begin readln(f1,s1); s2: =''; for i: =1 to length(s1) do begin kod: =pos(s1[i],alf); n: =n+1; if n> 4 then n: =1; kod: =kod-strtoint(key[n]); if kod> 33 then kod: =kod-33; if kod< 1 then kod: =kod+33; s2: =s2+alf[kod]; end; writeln(f2,s2); end; close(f1); close(f2); end.
Каждая из компонент связности должна быть кликой (иначе говоря, каждые две вершины в одной компоненте связности должны быть связаны ребром). если в i-ой компоненте связности вершин, то общее число рёбер будет суммой по всем компонентам связности: требуется найти максимум этого выражения (т.е. на самом деле - максимум суммы квадратов) при условии, что сумма всех ni равна n и ni - натуральные числа. если k = 1, то всё очевидно - ответ n(n - 1)/2. пусть k > 1. предположим, n1 < = n2 < = < = nk - набор чисел, для которых достигается максимум, и n1 > 1. уменьшим число вершин в первой компоненте связности до 1, а оставшиеся вершины "перекинем" в k-ую компоненту связности. вычислим, как изменится сумма квадратов: поскольку по предположению n1 > 1 (тогда и nk > 1), то сумма квадратов увеличится, что противоречит предположению о том, что на выбранном изначально наборе достигается максимум. значит, максимум достигается, если наименьшая по размеру компонента связности - изолированная вершина. выкинем эту компоненту связности, останутся k - 1 компонента связности и n - 1 вершина. будем продолжать так делать, пока не останется одна вершина, тогда получится, что во всех компонентах связности кроме последней должно быть по одной вершине. итак, должно выполняться подставив в исходную формулу, получаем это и есть ответ.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
cisjxhskxhha23.09.2022 07:03
-
Anny50528.07.2020 03:23
-
nik667755mm01.03.2021 04:00
-
marianachornii27.12.2021 20:22
-
МейнКун0529.11.2022 17:34
-
ДарьяГ2227.05.2022 13:23
-
Dave99915.05.2021 03:27
-
Dodod61601.07.2021 04:06
-
Карамелла24.03.2021 06:38
-
MaRiNa4ToP27.03.2021 16:09
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.