1) ТБВ, 2) ЛЕЕТРФ, 3) 240АЯ, 4) 3
Объяснение:
1) БРА (длина нечетная) → РА (меняем буквы на следующие) → СБ (длина четная) → САБ (меняем буквы на следующие) → ТБВ
2) ГРОТ (длина четная) → ГГРОТ (меняем...) → ДДСПУ (длина нечетная) → КДДСПУ (меняем...) → ЛЕЕТРФ
3) 28МАЯ (длина нечетная) → 28АЯ (меняем цифры на следующие) → 39АЯ (длина четная) → 139АЯ (меняем...) → 240АЯ
4) По первому правилу не подходит EHA, остались HCA AEA DAH ECC EEH ADE CEA AED
По второму правилу не подходят ECC, ADE и AED; остались HCA AEA DAH EEH CEA
По третьему правилу не подходят AEA и CEA ; остались HCA DAH EEH
Для того, чтобы в последовательности из n элементов удалить последний путем вычеркивания каждого k-го элемента, n должно быть кратно k - это и есть условие успешного удаления. Запишем его в виде n mod k = 0, где mod - операция получения остатка целочисленного деления n на k.
Если n не кратно k, то будут вычеркнуты [n / k] элементов последовательности. Здесь [ ] - обозначение операция взятия целой части числа (антье), введенное в математику К. Гауссом.
После вычеркивания [n / k] элементов, в последовательности останется n₁ = n - [n / k] элементов. Если повторять этот процесс, то либо на шаге m будет вычеркнут последний элемент, либо количество элементов станет меньше k.
Рассмотрим приведенный в задании пример.
n=13, k=2
n mod k ≠ 0, поэтому полагаем n₁ = n - [n / k] = 13 - [13 / 2] = 13 - 6 = 7
n₁ mod k ≠ 0, поэтому полагаем n₂ = n₁ - [n₁ / k] = 7 - [7 / 2] = 7 - 3 = 4
n₂ mod k = 0, следовательно на третьем шаге вычеркивания мы получим нужный результат.
PascalABC.NET 3.4.2, сборка 1884 от 24.11.2018Внимание! Если программа не работает, обновите версию!begin
var (n, k) := ReadInteger2;
var m := 0;
while n >= k do
begin
if n mod k = 0 then
begin
Print(m + 1);
exit
end
else
begin
n := n - n div k;
Inc(m)
end
end;
Print(0)
end.
Пример13 23Вводить данные можно как через пробел, так и построчно
Для запуска сомандной строки:
Нажать Win+R, ввести CMD, нажать Enter.
Для получения информации о командах набрать HELP, нажать Enter
Неочевидное:
Перенаправление вывода командной строки. Значок > и >> перенаправляют вывод одной команды на вход другой. Например, так можно перенаправить вывод команды в файл:
C:\>help > cmdhelp.txt перенаправит вывод команды HELP в файл cmdhelp.txt . Если такого файла нет, он будет создан. Если есть, содержимое будет полностью заменено новыми данными. Если нужно дописать данные в существующий файл, использовать >> , например
C:\>help >> cmdhelp.txt То же самое, что и в предыдущем случае, но если файл существует, новые данные допишутся в его конец.
9. Как создать файл:
C:\>echo "test">test.txt
PS Скорее всего Windows не даст писать что либо в корень диска С:, так что для опытов лучше использовать, например, флэшку. Для изменения текущего диска в командной строке надо просто набрать букву этого диска и двоеточие. Например, флэшке виндой присвоена буква G, тогда после открытия окна командной строки надо набрать G: и нажать Enter. Приглашение ввода изменится на
G:\>
Enter вообще прикольная кнопка, жми ее почаще :)