Максимальное кол-во элементов в их пересечении составляет 33 элемента
mos197653
08.07.2020
//Pascal var S: string; i, Count: byte; begin write('Введите строку: '); readln(S); for i := Length(S) downto 1 do if ((S[i] = '3') or (S[i] = '6') or (S[i] = '9')) then begin Count := Count + 1; Delete(s,i,1); end; writeln('Количество цифр кратных трем = ', Count); writeln('Строка после удаления = ', S); end.
//FreePascal/Delphi/PascalABC.NET(v3.3.1590) {$MODE OBJFPC} //В PascalABC.NET можно убрать uses SysUtils; //В PascalABC.NET можно убрать var S: string; i, Count: byte; begin write('Введите строку: '); readln(S); for i := Length(S) downto 1 do try if StrToInt(S[i]) mod 3 = 0 then begin Count := Count + 1; Delete(s,i,1); end; except end; writeln('Количество цифр кратных трем = ', Count); writeln('Строка после удаления = ', S); end.
nsh25044
08.07.2020
В начале в строке находилось 333 троек по 8 плюс одна 8, всего 1000 восьмерок. 1. При выполнения цикла каждая из троек 8 будет заменена на одну 9. Значит у нас получится строка длиной в 334 символа, где 333 девятки и последний символ - восьмерка 2. Далее 333 девятки заменятся на 111 восьмерок плюс последняя восьмерка - всего получим 112 восьмерок 3. Из 112 восьмерок получится 37 девяток и одна восьмерка 4. И 37 девяток получим 12 восьмерок плюс одна девятка и плюс последняя восьмерка 5. 12 восьмерок дадут 4 девятки плюс последние 9 и 8 6. И наконец получаем строку 8998 ответ: 8998