Форум программистов, компьютерный форум, киберфорум
Free Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.78/9: Рейтинг темы: голосов - 9, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 01.12.2015
Сообщений: 120
1

Найти максимальное число, которое может получиться в результате удаления ровно одной двоичной цифры

30.12.2015, 11:57. Просмотров 1844. Ответов 6
Метки нет (Все метки)

Помогите решить задачу:
У Маленького Слоника есть целое число a, записанное в двоичной системе счисления. Он хочет написать это число на листке бумаги.
Чтобы число a поместилось на листке бумаги, Маленький Слоник обязан удалить ровно одну любую цифру числа a в двоичной записи, при этом образуется новое число из остальных двоичных цифр, записанных в соответствующем порядке (возможно, с лидирующими нулями).
Маленький Слоник хочет, чтобы записанное на бумагу число было как можно больше. Помогите ему найти максимальное число, которое может получиться в результате удаления ровно одной двоичной цифры, и выведите его в двоичной системе счисления.

Входные данные
В единственной строке задано целое число a, записанное в двоичной системе счисления без лидирующих нулей. Количество цифр этого числа больше 1 и не превышает 105.

Выходные данные
В единственной строке выведите число, записанное без лидирующих нулей в двоичной системе счисления — ответ на задачу.

Примеры тестов

входные данные
101
выходные данные
11
входные данные
110010
выходные данные
11010
Примечание
В первом примере лучше всего удалить вторую цифру, при этом образуется число 11(2) = 3(10).

Во втором примере, лучше всего удалить третью или четвертую цифры — после этого получится число 11010(2) = 26(10).
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.12.2015, 11:57
Ответы с готовыми решениями:

Определить минимальное число, которое может получиться в результате работы калькулятора
В качестве домашнего задания по информатике ученикам предложено разработать специальный...

Выведите одно целое число — максимальное число, которое могло получиться в протоколе при игре на данном поле
У пети имеется игровое поле размером 3х3, заполненное числами от 1 до 9. В начале игры он может...

Выведите одно целое число — максимальное число, которое могло получиться в протоколе при игре на данном поле
У Пети имеется игровое поле размером 3×3 , заполненное числами от 1 до 9. В начале игры он может...

Выведите одно число-количество деталей, которое может получиться по заданной технологии
Имеется N кг металлического сплава.Из него изготавливают заготовки массой K кг каждая.Поле этого из...

6
2506 / 1127 / 582
Регистрация: 07.06.2014
Сообщений: 3,278
30.12.2015, 12:02 2
может я и ошибаюсь, но я бы банально удалял просто самый старший ноль (первый ноль, если смотреть число слева направо). Если нулей в записи числа нет - удалять можно любую цифру, это не важно.
0
0 / 0 / 0
Регистрация: 01.12.2015
Сообщений: 120
30.12.2015, 12:24  [ТС] 3
А как это записать-то так?
0
2506 / 1127 / 582
Регистрация: 07.06.2014
Сообщений: 3,278
30.12.2015, 12:43 4
например, через строки:

Pascal
1
2
3
4
5
6
7
8
9
var s:string;
 i, iZero : integer;
begin
  ReadLn(s);
  iZero := 1;
  for i:=1 to Length(s) do if s[i]='0' then begin iZero:=i; Break end;
  Delete(s,iZero,1)
  WriteLn(s)
end.
0
Модератор
Эксперт Pascal/DelphiЭксперт NIX
5442 / 3264 / 2390
Регистрация: 22.11.2013
Сообщений: 9,218
30.12.2015, 12:46 5
Если у Слоника есть число из одних "1", например, 15 и ...
... и тогда всё равно, какую 1 удалять.
Исключительный случай всё-равно отсутствует.
0
охотник
1010 / 534 / 650
Регистрация: 29.09.2014
Сообщений: 1,083
30.12.2015, 12:46 6
Лучший ответ Сообщение было отмечено Derzky как решение

Решение

Pascal
1
2
3
4
5
6
7
var a:string;
begin
 readln(a);
 if pos('0',a)>0 then delete(a,pos('0',a),1)
                 else delete(a,1,1);
 writeln(a)
end.
0
2506 / 1127 / 582
Регистрация: 07.06.2014
Сообщений: 3,278
30.12.2015, 13:09 7
Цитата Сообщение от bormant Посмотреть сообщение
и тогда всё равно, какую 1 удалять.
согласен. в моём примере в этом случае удалиться первая единичка.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.12.2015, 13:09

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

Непонятно условие. Основы С++ (найти в S1,…,Sn все слова, из которых могло бы получиться a1,…,a10 в результате одной ошибки)
Добрый день. Задали решить пару задач из задачника Абрамова. Только условия вообще не могу понять!...

Найти максимальное число которое может быть представлено как сумма степеней 2, 3 и 4 простых чисел
Найти максимальное число, меньшее заданного, которое может быть представлено как сумма степеней 2,...

Максимальное целое десятичное число, которое можно записать в четырех разрядах двоичной системы счисления - это
1. 2 2. 3 3. 15 4. 8 5. 222

Максимальное целое десятичное число, которое можно записать в пяти разрядах двоичной системы счисления - это
1. 2 2. 31 3. 15 4. 8 5. 222

Найти число в двоичной записи которого максимальное число единиц
Среди простых чисел ,не превосходящих N ,найти такое ,в двоичной записи которого максимальное...

Найдите максимальное целое неотрицательное число, все цифры которого различны, которое кратно n
Найдите максимальное целое неотрицательеое число, все цифры которого различны, которое кратно n.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.