Есть ответ 👍

Стоит - создать цепочку, в которой будут содержаться все числа от 0000 до 9999, причём длина этой цепочки должна быть минимальной. то есть например у нас есть цепочка из 40к символов - , нужно переставить цифры местами. по моим подсчётам длина цепочки минимальная равна 10003. создал я программку, которая в массив из 40к ячеей закидывает все это. теперь ,видимо, нужно в цикле смотреть все возможное но как это реализовать понятно, что цикл будет while(len(a))> 10003: а что в самом цикле? как уменьшать длину строки? если есть какие-то идеи, напишите . (python/pascal). важен не сам код, а понимание того, что нужно делать

194
365
Посмотреть ответы 2

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

Kisonka14
4,8(40 оценок)

{если что, часть программы не нужна для построения цепочки. она просто иллюстрирует, что полученный результат верен. } var   sq : array[0..999] of array[0..9] of boolean;   co : array[0..999] of integer;   ar : array[1..10003] of 0..9;     i,j: integer;   x: integer;   t : boolean;   begin   for i : = 0 to 999 do     begin     for j : = 0 to 9 do     sq[i][j] : = false;     co[i] : = 0;     end;   for i : = 1 to 3 do     ar[i] : = 0;   i : = 3;   t : = true;   {write('000'); }   while t do     begin     i : = i + 1;     x : = ar[i-3]*100 + ar[i-2]*10 + ar[i-1];     if co[x] > = 10 then t : = false       else       begin       j : =  1;       while sq[x][j] do          j : = (j + 1) mod 10;       ar[i] : = j;       sq[x][j] : = true;       co[x] : = co[x] + 1;       {write(j)}       end;     end;   {writeln; }   writeln('length: ',i - 1);   {просто чтобы убедиться}   for i : = 0 to 999 do     for j : = 0 to 9 do     sq[i][j] : = false;     t : = true;   j : = 0;   i : = 1;   while (i < = 10000) and t do     begin     x : = ar[i] * 100 + ar[i+1] * 10 + ar[i+2];     if sq[x][ar[i+3]] then t : = false       else       begin       sq[x][ar[i+3]] : = true;       j : = j + 1;       end;     i : = i + 1     end;   if t and (j = 10000) then     write('confirmed') end.

Найдём общее количество символов.

31 * 57 * 144 = 303696

Каждый символ кодируется одним байтом, то есть.

303696 * 1 = 303696 Байт

ответ: 303696 Байт

Реши свою проблему, спроси otvet5GPT

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

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

Caktus Image

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

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

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

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

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

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

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

GTP TOP NEWS