vypolga1347
?>

Для передачи помехоустойчивых сообщений в алфавите, который содержит 16 различных символов, используется равномерный двоичный код. этот код удовлетворяет следующему свойству: в любом кодовом слове содержится четное количество единиц (возможно, ни одной какую наименьшую длину может иметь кодовое слово? если можно, объясните подробно,

Информатика

Ответы

macmakka
ответ: 5 

Пояснение:
Существует 16 двоичных слов длины 4
Т.к. среди них есть слова, содержащие 1 или 3 единицы, то в нашем коде нужно использовать кодовые слова с длиной больше, чем 4
Слов длины 5 достаточно 
Искомые кодовые слова можно получать, например, добавляя к каждому из 16 возможных двоичных слов справа "бит четности", равный 0, если 4-значное двоичное слово содержит четное количество единиц, и равный 1 в противном случае
Например, двоичное слово 0000 преобразуется в 00000, а двоичное слово 1011 – в 10111
KrisTinka
Подберем числа из которых можно получить данные нам числа
87 из 1222
250 из 7099
656136 из 9999
Всего 3

Не подошли:
58: только 5 и 8, что противоречит п2
124: только 12 и 4 не нарушают п2.
    4 = 1+1+1+1, 1*1*1*1=1 <> 12
    4 = 1*1*1*4 = 1*1*2*2 , 1+1+1+4=7 <> 12, 1+1+2+2 = 6 <> 12
411: только 41 и 1 не нарушают п2.
    1 = 1+0+0+0, 1*0*0*0 = 0 <> 41
    1 = 1*1*1*1, 1+1+1+1 = 4 <> 41     
1711: только (17 и 11) и (171 и 1) не нарушают п2.
    (171 и 1), случай с 1 рассмотрен выше
    (17 и 11): 17 = 17*1*1*1, 17+1+1+1 = 20 < 11
        11 = 11*1*1*1, 11+1+1+1 = 14 < 17
841424: только (84142 и 4) и (8414 и 24) и (841 и 424) не нарушают п2.
    Максимум суммы 4 цифр = 9+9+9+9 = 36
    Максимум произведения 4 цифр = 9*9*9*9 = 6561
    (841 и 424): оба числа больше максимума суммы
    (84142 и 4) и (8414 и 24): 84142 и 8414 больше максимума произведения
Шитенков
#include <stdio.h>
#include <math.h>

int isPrime(int x)
{
for (int i = 2; i <= sqrt(x); i++) {
if (x % i == 0) return 0;
}
return 1;
}

int main()
{

/* Ввод значений */
int n;
scanf("%d", &n);
int nums[n];
for (int i = 0; i < n; i++) {
scanf("%d", &nums[i]);
}

/* Поиск минимального значения */
int min = nums[0];
for (int i = 1; i < n; i++) {
if (nums[i] < min) min = nums[i];
}

/* Поиск делителя */
int ret = 0;
int isDiv = 1;
for (int i = min; i > 1; i--) {
printf("test %d\n", i);
if (isPrime(i)) {
printf(" %d prime\n", i);
for (int j = 0; j < n; j++) {
if (nums[j] % i != 0) {
printf(" on pos %d not div %d\n", j, i);
isDiv = 0;
break;
}
}
if (isDiv) {
ret = i;
printf(" ret = %d, break\n", ret);
break;
}
else {
isDiv = 1;
}
}
}

printf("%d", ret);
return 0;
}

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Для передачи помехоустойчивых сообщений в алфавите, который содержит 16 различных символов, используется равномерный двоичный код. этот код удовлетворяет следующему свойству: в любом кодовом слове содержится четное количество единиц (возможно, ни одной какую наименьшую длину может иметь кодовое слово? если можно, объясните подробно,
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Rudakova_Yana
makscska22879
Olga1509
ilyagenius
dilanarthur27
a-zotova
melnik-738
evamining
Абдулганиева Сергей
Anatolevna1703
oknacrow
imiryakubov
Shevtsov1818
evgeniishulov4696
Baidina