ChocoPie12
07.07.2021 10:09

с информатикой олимпида всё что есть


с информатикой олимпида всё что есть

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
лпрпаи
05.07.2020 11:52

Сжа́тие да́нных (англ. data compression) — алгоритмическое преобразование данных, производимое с целью уменьшения занимаемого ими объёма. Применяется для более рационального использования устройств хранения и передачи данных. Синонимы — упаковка данных, компрессия, сжимающее кодирование, кодирование источника. Обратная процедура называется восстановлением данных (распаковкой, декомпрессией).

Сжатие основано на устранении избыточности, содержащейся в исходных данных. Простейшим примером избыточности является повторение в тексте фрагментов (например, слов естественного или машинного языка). Подобная избыточность обычно устраняется заменой повторяющейся последовательности ссылкой на уже закодированный фрагмент с указанием его длины. Другой вид избыточности связан с тем, что некоторые значения в сжимаемых данных встречаются чаще других. Сокращение объёма данных достигается за счёт замены часто встречающихся данных короткими кодовыми словами, а редких — длинными (энтропийное кодирование). Сжатие данных, не обладающих свойством избыточности (например, случайный сигнал или белый шум, зашифрованные сообщения), принципиально невозможно без потерь.

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

0,0(0 оценок)
Ответ:
DIMONSTERUSp
10.10.2022 09:36
Var
  i, n, s: longint;
  d, k: integer;

begin
  i := 3; k := 0;
  repeat
    s := 1;
    for d := 2 TO Trunc(sqrt(i)) do
    begin
      n := (i div d);
      if n * d = i then s := s + d + (i div d);
    end;
    if int(sqrt(i)) = sqrt(i) then s := s - Trunc(sqrt(i));
    if s = i then k := k + 1;
    i := i + 1
  until (k = 3);
  Writeln('Третье совершенное число равно ',s)
end.

Тестовое решение:
Третье совершенное число равно 496

const
  k=35; { k-е по порядку простое число }

var
  i,j,n,m:integer;

begin
  n:=1; i:=1;
  repeat
    j:=2;
    m:=round(sqrt(i));
    while (i mod j <>0) and (j<=m) do j:=j+1;
    if j>m then n:=n+1;
    i:=i+1
  until (n=k);
  Writeln(i-1)
end.

Тестовое решение:
137

var
  n, d1, d2, d3: integer;

begin
  Write('Введите трехзначное число ->');
  Readln(n);
  d1 := (n div 100);
  d2 := ((n mod 100) div 10);
  d3 := (n mod 10);
  if (d1 * d2 * d3 in [100..999]) then
    Writeln('Произведение цифр трехзначное')
  else Writeln('Произведение цифр не трехзначное')
end.

Тестовое решение:
Введите трехзначное число ->518
Произведение цифр не трехзначное

*** В блок-схемах использованы обозначения:
sqrt(x) - квадратный корень от х;
\ - операция целочисленного деления
% - операция остатка от целочисленного деления    
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота