В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
MtDew557723
MtDew557723
04.10.2021 07:03 •  Информатика

, Задача 9. Счастливая подстрока ( ) Поликарп выписал на доске n цифр, отличных от нуля. Таким образом, на доске записана строка s длины n, состоящая из цифр от 1 до 9.
Введем понятие подстроки строки s: подстрока строки s — это последовательность, состоящая из произвольного количества символов строки s, которые идут в строке s подряд.
Теперь он хочет найти в этой строке подстроку максимальной длины, которая удовлетворяет следующим условиям:
• длина подстроки — четное число;
• пусть x — длина подстроки, тогда сумма первых x/2 цифр подстроки равна сумме
последних x/2 цифр подстроки.
Перед вами стоит задача определить максимальную длину подстроки строки s, которая
удовлетворяет описанным условиям.
Формат входных данных
В первой строке следует целое число n (2 6 n 6 5 000) — длина строки s.
Во второй строке следует строка s длины n, состоящая из цифр от 1 до 9.
Формат выходных данных
Выведите максимальную длину подстроки строки s, которая удовлетворяет описанным
условиям. Если ни одной подходящей подстроки не существует, выведите 0.

Замечание
В первом примере ответной подстрокой является подстрока 3856 длины 4, которая начинается в позиции 3 и заканчивается в позиции 6. Сумма первой половины цифр равна
11 и сумма второй половины цифр равна 11, поэтому эта подстрока удовлетворяет всем
условиям.
Во втором примере нет ни одной подстроки, удовлетворяющей всем условиям, поэтому
нужно вывести 0.


, Задача 9. Счастливая подстрока ( ) Поликарп выписал на доске n цифр, отличных от нуля. Таким образ

Показать ответ
Ответ:
ира12345612
ира12345612
19.10.2022 13:11

// PascalABC.NET 3.6.3

uses School;

function Divizors(n: integer): List<integer>;

begin

 var L := new List<integer>;

 L.Add(1);

 L.Add(n);

 if n > 3 then

   begin

   var k := 2;

   while (k * k <= n) and (k < 46341) do

   begin

     if n mod k = 0 then

     begin

       var t := n div k;

       L.Add(k);

       if k < t then L.Add(t)

       else break

     end;  

     Inc(k)

   end;

   L.Sort;

 end;

 Result := L

end;

begin

 // 1

 if ReadInteger.IsPrime then Println('YES')

 else Println('NO');

 // 2

 ReadInteger.Factorize.First.Println;

 // 3

 var a := Divizors(ReadInteger);

 Print(a.Count, a.Sum)

end.

0,0(0 оценок)
Ответ:
Иванчик1111
Иванчик1111
31.12.2021 00:26

1) для перевода из 10-й в двоичную 2-ую систему счисления нужно число в десятичной системе разделить на 2 и записать остаток , затем тоже самое сделать с целой часть и повторять пока не останется только 1 или 0. конечное числом будут остатки записанные в обратном порядке.

1450/ 2 = 725 остаток 0

725 / 2 = 362 остаток 1

362 / 2 = 181 остаток 0

181 / 2 = 90 остаток 1

90 / 2 = 45 остаток 0

45/ 2 = 22 остаток1

22/2 = 11 остаток 0

11/ 2 = 5 остаток 1

5 / 2 = 2 остаток 1

2 / 2 = 1 остаток 0

1 / 2 = 0 остаток 1

 

результат: 10110101010

 

в 2-х байтовой ячеке всего 16 разрядов, а в наше числе 11 , значит спереди нужно дописать 5 нулей и получим нужное представление

0000010110101010

 

2)

для перевода в 16 систему нужно сначало перевести в 2-ю систему счисления, потом записать обратный код, почитать дополнительный и тогда перевести в 16-ю

вот 1450 в 2-й системе

0000010110101010

обратный код это код в котором все 0 заменены на 1, а 1 на 0

1111101001010101

чтобы получит дополнительный код нужно прибавить 1

1111101001010110

теперь смотрим по 4 разряда и заменяем 1 символом в 16 системе счисления

1111 = f

1010 = a

0101 = 5

0110 = 6

искомое число fa56

3)

  для перевода из 16 в 2 систему счисления нужно каждую цифру числа умножит на 16 в степень равным номеру цифры(справа на лево, отсчет с 0)

f67d(в 16 системе счисления) = 15 * 16 ^3 + 6 * 16 ^2 + 7 * 16^1 + 13 * 16 ^0 = 61440 + 1536 + 112 + 13 = 63101(в 10 системе счисления)

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