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

Знезаражувач реп’яховiруса
Обмеження: 2 сек., 256 МiБ
Для ефективної боротьби з реп’яховiрусом вченi придумали спецiальний пристрiй-знезаражувач.Для своєї роботи цей пристрiй використовує спецiальнi ампули iз активною речовиною. Всьогодоступноnампул. Ефективнiсть i-ї з них рiвна Ai умовних одиниць.Для найбiльш ефективної роботи знезаражувача, його необхiдно зарядити рiвноkампулами,при чому їх сумарна ефективнiсть повинна бути непарним числом. Ваше завдання визначити,якими саме ампулами необхiдно зарядити знезаражувач для його найбiльш ефективної роботи,або визначити що це не можливо.Вхiднi данiУ першому рядку задано два натуральних числаnтаk кiлькiсть доступних ампул такiлькiсть ампул котрими необхiдно зарядити знезаражувач. У наступному рядку заданоnнату-ральних чиселai ефективностi ампул.Вихiднi данiУ першому випадку виведiть рядокyesякщо знезаражувач можна зарядити для максималь-ної ефективностi, абоno, якщо цього досягнути не можливо.У випадку ствердної вiдповiдi в наступному рядку виведiтьkчисел через пробiл ефектив-ностi ампул, котрими треба зарядити знезаражувач для його максимальної ефективностi. Якщо iснує декiлька правильних вiдповiдей, дозволено вивести будь-яку з них.
Обмеження1≤k≤n≤105,1≤ai≤109.
Приклади

Вхiднi данi (stdin) 3 2
1 2 3
Вихiднi данi (stdout) yes 2 3

Показать ответ
Ответ:
Elvira2018
Elvira2018
19.06.2021 14:50

var

i, a, b, n, n2, j: longint;

s: string;

flag: boolean;

begin

Write('Введите через пробел границы диапазона: ');

Readln(a, b);

if b < a then begin n := a; a := b; b := n end;

if a < 11 then a := 11;

for i := a to b do

begin

Str(i, s);

n := Length(s); n2 := n div 2; flag := true; j := 1;

repeat

flag := (s[j] = s[n - j + 1]);

j := j + 1

until (not flag) or (j > n2);

if flag then Write(i, ' ')

end;

end.

Тестовое решение:

Введите через пробел границы диапазона: 800 1500

808 818 828 838 848 858 868 878 888 898 909 919 929 939 949 959 969 979 989 999

Объяснение:

0,0(0 оценок)
Ответ:
dimas112006
dimas112006
06.10.2022 05:25
Чертежник вернется исходную точку, если сумма перемещений и по горизонтали, и по вертикали будет равна нулю.
Перемещение по горизонтали: Sx=-3+n(a+27)-22=-25+n(a+27);
Перемещение по вертикали: Sy=3+n(b+12)-7=-4+n(b+12).
\begin {cases} S_x=0 \\ S_y=0 \end {cases}; \ \begin {cases} -25+n(a+27)=0 \\ -4+n(b+12)=0 \end {cases}; \ \begin {cases} n(a+27)=25 \\ n(b+12)=4 \end {cases} \\ \begin {cases} a+27= \frac{25}{n} \\ b+12= \frac{4}{n} \end {cases} \to \begin {cases} a=\frac{25}{n}-27 \\ b=\frac{4}{n}-12 \end {cases}
Решение надо найти в целых числах, поэтому и 25, и 4 должны делиться на n без остатка. Таким минимальным (и единственным) числом является n=1.
Тогда a=25-27=-2, b=4-12=-8.
ответ: n=1; a=-2; b=-8

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