tatka22345
06.04.2023 17:15

Проанализируйте работу программы


Проанализируйте работу программы

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
dms30445p0a743
11.03.2020 02:49

Меньше чем 3-х основание СС быть не может. (Сама догадайся почему ;-)  

 

Делим:  

 

23 : 3 = 7 ост. 2 — подходит  

23 : 4 = 5 ост. 3 — не подходит  

23 : 5 = 4 ост. 3 — не подходит  

23 : 6 = 3 ост. 5 — не подходит  

23 : 7 = 3 ост. 2 — подходит  

23 : 8 = 2 ост. 7 — не подходит  

23 : 9 = 2 ост. 5 — не подходит  

23 : 10 = 2 ост. 3 — не подходит  

23 : 11 = 2 ост. 1 — не подходит  

23 : 12 = 1 ост. 11 — не подходит  

23 : 13 = 1 ост. 10 — не подходит  

23 : 14 = 1 ост. 9 — не подходит  

23 : 15 = 1 ост. 8 — не подходит  

23 : 16 = 1 ост. 7 — не подходит  

23 : 17 = 1 ост. 6 — не подходит  

23 : 18 = 1 ост. 5 — не подходит  

23 : 19 = 1 ост. 4 — не подходит  

23 : 20 = 1 ост. 3 — не подходит  

23 : 21 = 1 ост. 2 — подходит  

23 : 22 = 1 ост. 1 — не подходит  

23 : 23 = 1 ост. 0 — не подходит  

 

Далее для всех СС больше 23 остаток будет 23. Следовательно нет смысла их рассматривать.  

 

Итого: 2, 7 и 21.

0,0(0 оценок)
Ответ:
akimovilya20
21.11.2022 16:46
Рекурсивный подход.(Символы тоже удаляет)
function grad(s:string):string;
var
i:byte;
detect:boolean;
begin
while i < length(s) - 2 do
begin
inc(i);
if (s[i] = s[i+1]) and (s[i] = s[i+2]) then {проверка последовательности из 3 елементов}
begin
delete(s,i,3); {если да - удаляем их}
detect:=True; {логическая переменная регистрирует изменение строки}
end;end;
if detect = True then
s:=grad(s); {если строку изменили , проверяем не появились ли там еще последовальности}
grad:=s; 
end;

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