Есть ответ 👍

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
Посмотреть ответы 2

Ответы на вопрос:

uroolga
4,7(39 оценок)

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

  • Быстро
    Мгновенный ответ на твой вопрос
  • Точно
    Бот обладает знаниями во всех сферах
  • Бесплатно
    Задай вопрос и получи ответ бесплатно

Популярно: Информатика

Caktus Image

Есть вопросы?

  • Как otvet5GPT работает?

    otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса.
  • Сколько это стоит?

    Проект находиться на стадии тестирования и все услуги бесплатны.
  • Могу ли я использовать otvet5GPT в школе?

    Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое!
  • В чем отличия от ChatGPT?

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

Подпишись на наш телеграмм канал

GTP TOP NEWS