{ Pascal ABC.NET 3.2 Входной текстовый файл с числами ч/з один пробел. (в конце не должно быть пробелов!) } const f_in_name = 'd:\in9.txt'; f_tmp_name = 'd:\tmp.tmp'; var f_in,f_out: text; i, k: integer; begin Assign(f_in, f_in_name); Assign(f_out, f_tmp_name); Reset(f_in); Rewrite(f_out); k := 0; while not Eof(f_in) do begin Read(f_in, i); k := k + 1; if k mod 2 <> 0 then Write(f_out, ' ', i); end; Close(f_out); Close(f_in); DeleteFile(f_in_name); RenameFile(f_tmp_name, f_in_name); end.
В начале в строке находилось 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
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку