На этом форуме отвечают на конкретные вопросы. Фраза «я не понимаю, как решать» — это не вопрос. На вопрос «как решить задачу №X» вас отошлют к материалам сайта kpolyakov.spb.ru. За бессвязный поток слов и неспособность формулировать свои мысли — бан.

Если у вас не сходится ответ на какую-то задачу, пожалуйста сразу представляйте свое «правильное» решение.
Программы "заворачивайте" в тэг [pre2]...[/pre2], при этом сохраняются все отступы и применяется моноширинный шрифт. Если у вас используется сочетание "[i]" для обозначения элемента массива или строки, ставьте пробел после открывающей скобки. Иначе система выделит все дальнейшее курсивом.

Для регистрации на форуме щелкните по ссылке «Вход-регистрация» вверху страницы. В открывшееся окошко «ник» введите свою фамилию на русском языке (например, Иванов). В окошко «пароль» введите придуманный вами пароль, состоящий из латинских букв и цифр. Поставьте галочку в окошке «зарегистрироваться, я новый участник» и нажмите кнопку «ОК».

АвторСообщение



Сообщение: 1
ссылка на сообщение  Отправлено: 09.02.21 17:30. Заголовок: Не сходится ответ в онлайн-тестах по ЕГЭ.


Онлайн-тесты ЕГЭ, 5 - Выполнение и анализ простых алгоритмов, 7 задание. Не сходится ответ. Мой ответ: 92, вроде бы удовлетворяет алгоритму, но всё равно не сходится с ответом на сайте.
Вот условие задачи:
7. На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1) Строится двоичная запись числа N.
2) К этой записи дописывается (дублируется) последняя цифра.
3) Затем справа дописывается 0, если в двоичном коде числа N чётное число единиц, и 1, если нечётное.
4) К полученному результату дописывается ещё один бит чётности так, чтобы количество единиц в двоичной записи полученного числа стало чётным.
Полученная таким образом запись (в ней на три разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите минимальное число R, большее 80, которое могло получиться в результате работы автомата. В ответе это число запишите в десятичной системе.

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 17 , стр: 1 2 All [только новые]


Администратор




Сообщение: 2411
ссылка на сообщение  Отправлено: 09.02.21 17:32. Заголовок: egeinfa пишет: Мой о..


egeinfa пишет:
 цитата:
Мой ответ: 92

Показывайте, как решали.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 2
ссылка на сообщение  Отправлено: 09.02.21 17:47. Заголовок: Поляков пишет: С..


Поляков пишет:
[quote]`

Сначала просто подбирала числа больше 80, как и указано в условии. Никакие числа меньше 92 не подходили под алгоритм. Беру R=92. Перевожу в двоичную систему, получается: 1011100. По условию это число: 1011100, без трёх последних разрядов является исходным числом N в двоичной системе. Начинаю применять алгоритм:
1)Строится двоичная запись числа N: Она уже есть: 1011.
2)К этой записи дописывается (дублируется) последняя цифра: 10111.
3)Затем справа дописывается 0, если в двоичном коде числа N чётное число единиц, и 1, если нечётное: 101110
4) К полученному результату дописывается ещё один бит чётности так, чтобы количество единиц в двоичной записи полученного числа стало чётным: 1011100
Получается 1011100. Переводим в десятичную систему счисления. Ответ: 92

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 2412
ссылка на сообщение  Отправлено: 09.02.21 18:02. Заголовок: egeinfa пишет: двоич..


egeinfa пишет:
 цитата:
двоичном коде числа N чётное число единиц, и 1, если нечётное: 101110


Двоичный код числа N = 1011. Поэтому в конце должна быть 1.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 3
ссылка на сообщение  Отправлено: 09.02.21 18:20. Заголовок: Поляков пишет: То..


Поляков пишет:
[quote]`
То есть, имеется ввиду исходный двоичный код числа N? Без применения второго пункта алгоритма? Под "исходный двоичный код числа N" я имею ввиду 1011. А код с применением второго пункта алгоритма 10111. Просто решала сейчас решала задание 8 в этом же тесте, которое практически абсолютно такое же. Решала этим же способом и ответ получился правильным. А если решать вашим способом и брать всегда исходный двоичный код, то в 8 получится неверный ответ. Да и не только в 8, но и в других заданиях этого же типа.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 2413
ссылка на сообщение  Отправлено: 09.02.21 18:27. Заголовок: egeinfa пишет: имеет..


egeinfa пишет:
 цитата:
имеется ввиду исходный двоичный код числа N

Ну там же так и написано.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 4
ссылка на сообщение  Отправлено: 09.02.21 18:31. Заголовок: Поляков пишет: Хо..


Поляков пишет:
[quote]`
Хорошо, но всё же повторюсь, что если во всех заданиях такого типа и из этого же самого теста, брать под каждый пункт алгоритма исходный двоичный код, то во всех заданиях ответы будут неправильные, за исключением 7 номера. А если брать допустим, для второго пункта алгоритма уже преобразованный код из первого алгоритма, то ответы выходят правильными. Я всё же склоняюсь к тому, что в номере 7 ошибка.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 2414
ссылка на сообщение  Отправлено: 09.02.21 18:37. Заголовок: egeinfa пишет: во вс..


egeinfa пишет:
 цитата:
во всех заданиях ответы будут неправильные

Приведите пример.
 цитата:
Я всё же склоняюсь к тому, что в номере 7 ошибка.

Это ваше право, конечно же.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 5
ссылка на сообщение  Отправлено: 09.02.21 18:52. Заголовок: Поляков пишет: В ..


Поляков пишет:
[quote]`
В пример возьму задание 8.
8. На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1) Строится двоичная запись числа N.
2) К этой записи дописывается (дублируется) последняя цифра.
3) Затем справа дописывается 0, если в двоичном коде числа N чётное число единиц, и 1, если нечётное.
4) К полученному результату дописывается ещё один бит чётности так, чтобы количество единиц в двоичной записи полученного числа стало чётным.
Полученная таким образом запись (в ней на три разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите минимальное число N, после обработки которого автомат получает число, большее 136. В ответе это число запишите в десятичной системе.
Здесь правда нужно ввести минимальное число N, но сначала я всё равно ищу R>136. Все R<142 мне не подходят под условия алгоритма. Беру R=142. Перевожу в двоичную систему счисления, получается: 10001110. Теперь начинаю применять алгоритм на данном двоичном числе. По условию исходное число N является R в двоичной СС, но без трёх последних разрядов. Значит это: 10001.
1) Строится двоичная запись числа N: 10001.
2) К этой записи дописывается (дублируется) последняя цифра: 100011.
3) Затем справа дописывается 0, если в двоичном коде числа N чётное число единиц, и 1, если нечётное: 1000111
4) К полученному результату дописывается ещё один бит чётности так, чтобы количество единиц в двоичной записи полученного числа стало чётным: 10001110. Получается как раз число R=142 в двоичной системе счисления, значит оно мне подходит под алгоритм. Дальше просто беру исходный двоичный код числа N 10001, перевожу в десятичную систему счисления, получается 17. И ответ в этой задаче сходится, он как раз таки 17.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 2415
ссылка на сообщение  Отправлено: 09.02.21 19:16. Заголовок: egeinfa пишет: 3) За..


egeinfa пишет:
 цитата:
3) Затем справа дописывается 0, если в двоичном коде числа N чётное число единиц, и 1, если нечётное: 1000111

Здесь должен быть 0.
 цитата:
4) К полученному результату дописывается ещё один бит чётности так, чтобы количество единиц в двоичной записи полученного числа стало чётным: 10001110.

Должно быть 01. Это число 141.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить



Сообщение: 6
ссылка на сообщение  Отправлено: 09.02.21 19:33. Заголовок: Поляков пишет: Ст..


Поляков пишет:
[quote]`
Странно...а если допустим взять задание номер 5.
5. На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом.
1) Строится двоичная запись числа N.
2) Справа дописывается бит чётности.
3) Справа дописывается ещё один бит чётности.
Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N) является двоичной записью искомого числа R. Укажите минимальное число R, большее, чем 96, которое могло получиться в результате работы этого алгоритма. В ответе это число запишите в десятичной системе.
Здесь я также подбираю числа. Беру R=102. Перевожу в двоичную: 1100110. По условию N на два последних разряда меньше. Значит это 11001. Применяю алгоритм:
1) Строится двоичная запись числа N: 11001.
2) Справа дописывается бит чётности: 110011.
3) Справа дописывается ещё один бит чётности: 1100110.
Получается двоичная запись числа 102. Ответ совпадает с ответом на сайте: 102.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 2417
ссылка на сообщение  Отправлено: 09.02.21 19:40. Заголовок: egeinfa пишет: 1) Ст..


egeinfa пишет:
 цитата:
1) Строится двоичная запись числа N.
2) Справа дописывается бит чётности.
3) Справа дописывается ещё один бит чётности.

Здесь как раз описывается тот алгоритм, который вы и используете - четность определяется по последнему результату.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 1 
ПрофильЦитата Ответить



Сообщение: 7
ссылка на сообщение  Отправлено: 09.02.21 19:41. Заголовок: Поляков пишет: Сп..


Поляков пишет:
[quote]`
Спасибо большое! Какое, однако, невнятное условие.

Спасибо: 0 
ПрофильЦитата Ответить
Администратор




Сообщение: 2418
ссылка на сообщение  Отправлено: 09.02.21 19:42. Заголовок: egeinfa пишет:Какое,..


egeinfa пишет:
 цитата:
Какое, однако, невнятное условие.

Не могу согласиться.

___________________________________________________
Имей мужество пользоваться собственным умом. (И. Кант)
Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 176
ссылка на сообщение  Отправлено: 07.11.22 16:50. Заголовок: egeinfa пишет: Снач..


egeinfa пишет:

 цитата:
Сначала просто подбирала числа больше 80, как и указано в условии. Никакие числа меньше 92 не подходили под алгоритм. Беру R=92. Перевожу в двоичную систему, получается: 1011100. По условию это число: 1011100, без трёх последних разрядов является исходным числом N в двоичной системе. Начинаю применять алгоритм:
1)Строится двоичная запись числа N: Она уже есть: 1011.

+

 цитата:
2)К этой записи дописывается (дублируется) последняя цифра: 10111.

+

 цитата:
3)Затем справа дописывается 0, если в двоичном коде числа N чётное число единиц, и 1, если нечётное: 101110

- откуда здесь 0
смотри строку 1) там утверждается, что двоичный код 1011, количество 1 нечетно, следовательно ставим здесь 1 => не 101110, а 101111

 цитата:
4) К полученному результату дописывается ещё один бит чётности так, чтобы количество единиц в двоичной записи полученного числа стало чётным: 1011100

- было нечетное количество 1 => будет 1011111

 цитата:
Получается 1011100.

1011111`
 цитата:
Переводим в десятичную систему счисления. Ответ: 92

95

Спасибо: 0 
ПрофильЦитата Ответить



Не зарегистрирован
ссылка на сообщение  Отправлено: 04.11.22 18:39. Заголовок: Я тоже долго думала,..


Я тоже долго думала, но там вот такой прикол:
Там говорится в 3-ем и 4-ом пункте про "двоичную запись числа", а когда мы удваиваем последнюю цифру, то это уже "изменённая двоичная запись числа". То есть необходимо проверять на чётность по количеству единиц в самом начале (до удвоения последней цифры). Это правда странно, но это так. И тогда ответ правильный: 95, а в 8 задаче просто совпадение.
вот код на питоне:

for i in range (1,1000):
n=bin(i)[2:]
cnt=n.count('1')
if cnt%2==0:
n=n+n[-1]+'0'
else:
n=n+n[-1]+'1'
if cnt%2==0:
n=n+'0'
else:
n=n+'1'
if int(n,2)>80:
print(int(n,2))
break

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 175
ссылка на сообщение  Отправлено: 07.11.22 15:55. Заголовок: kates пишет: for i ..


kates пишет:

 цитата:
for i in range (1,1000):
n=bin(i)[2:]
cnt=n.count('1')
if cnt%2==0:
n=n+n[-1]+'0'
else:
n=n+n[-1]+'1'
if cnt%2==0:
n=n+'0'
else:
n=n+'1'
if int(n,2)>80:
print(int(n,2))
break



kates, чтобы ваш код был понятен остальным, ставьте вначале кода html команду [рre2].., а в конце повторите ее, но со слешем [/рre2]

с уважением, Александр

Спасибо: 0 
ПрофильЦитата Ответить





Сообщение: 177
ссылка на сообщение  Отправлено: 07.11.22 17:04. Заголовок: kates пишет: Там го..


kates пишет:

 цитата:
Там говорится в 3-ем и 4-ом пункте про "двоичную запись числа", а когда мы удваиваем последнюю цифру, то это уже "изменённая двоичная запись числа". То есть необходимо проверять на чётность по количеству единиц в самом начале (до удвоения последней цифры). Это правда странно, но это так.


Что здесь странного, если это алгоритм, а следовательно выполнять его нужно беспрекословно

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 17 , стр: 1 2 All [только новые]
Ответ:
1 2 3 4 5 6 7 8 9
видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 1352
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет