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

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

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

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





Сообщение: 5
ссылка на сообщение  Отправлено: 21.04.21 19:12. Заголовок: Ошибка в ответе, задание №234 (5)


234) Автомат обрабатывает десятичное натуральное число N по следующему алгоритму.
1. Строится двоичная запись числа,
2. К полученному числу справа дописывается 0, если в числе единиц больше, чем нулей, и 1 в обратном случае.
3. Из середины двоичного числа убирается 2 разряда, если количество разрядов получилось четным, и 3 разряда, если нечетное.
4. Полученное число переводится в десятичную систему счисления и является результатом работы автомата.
Сколько различных значений может получиться на отрезке [50; 100] в результате работы автомата?

Во-первых, я не совсем однозначно понимаю в п.2 слова "и 1 в обратном случае". Обратным случаем подразумевается то, когда в числе кол-во(1)<кол-во(0) или кол-во(1)<=кол-во(0)
Это конечно на ответе не сыграет огромную роль, но в ответе число 13 не может никаким образом получиться
Вот программа со всеми числами и каждым этапом, достаточно просто запустить.
 
#include <bits/stdc++.h>
using namespace std;

int main()
{
setlocale(LC_ALL,"Russian");
cout<<"Число\tВ двоичной\tПосле добавления 0 или 1\tПосле удаления цифр"<<endl;

vector<string> s;
for(int i=50;i<=100;i++)
{
int j=i;
string a="";
while(j!=0){ a=a+char(j%2+'0'); j/=2; }
reverse(a.begin(),a.end());
cout<<i<<"\t"<<a;
int k0=0,k1=0;
for(int l=0;l<a.size();l++)
if(a[ l]=='0') k0++;
else k1++;

if(k1>k0) a=a+'0';
else if(k1<k0) a=a+'1'; //Если всё-таки имелось ввиду, что количество единиц меньше или равно количества нулей, то необходимо просто стереть "if(k1<k0)"
cout<<"\t\t\t"<<a<<"\t\t\t";

int p=a.size();
if(p%2==0)
a.erase(a.begin()+p/2-1,a.begin()+p/2+1);
else a.erase(a.begin()+p/2-1,a.begin()+p/2+2);

cout<<a<<endl;
int k=0;
for(int l=0;l<s.size();l++)
if(s[ l]==a) {k++; break;}

if(k==0) s.push_back(a);

}
cout<<endl<<endl<<"Количество различных чисел: "<<s.size()<<endl;
for(int l=0;l<s.size();l++)
cout<<s[ l]<<endl;

}



Соответственно правильный ответ либо 20, либо 21.

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







Сообщение: 6
ссылка на сообщение  Отправлено: 21.04.21 19:29. Заголовок: Если всё-таки нужно ..


Если всё-таки нужно рассматривать кол-во(1)<=кол-во(0) "в обратном случае", то рекомендую переписать как "в противном случае", потому что так не совсем понятно)

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




Сообщение: 2732
ссылка на сообщение  Отправлено: 22.04.21 06:52. Заголовок: Сыткин Даниил пишет:..


Сыткин Даниил пишет:
 цитата:
Если всё-таки нужно рассматривать кол-во(1)<=кол-во(0) "в обратном случае", то рекомендую переписать как "в противном случае"

Спасибо, формулировка этого пункта уточнена. "; иначе дописывается 1."
 цитата:
Вот программа со всеми числами и каждым этапом, достаточно просто запустить.

В программе рассматриваются исходные данные на отрезке [50;100], а в условии речь идет о результате работы автомата.

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



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


Поляков пишет:

 цитата:
В программе рассматриваются исходные данные на отрезке [50;100], а в условии речь идет о результате работы автомата.


До меня не сразу дошло, что это надо читать так: "Сколько различных значений может получиться в результате работы автомата, которые будут принадлежать отрезку [50; 100] ?"

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





Сообщение: 8
ссылка на сообщение  Отправлено: 22.04.21 07:17. Заголовок: А, извините, до меня..


А, извините, до меня дошло...

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

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