1. есть число n. пускай n=123. что будет, если разделить его на 10? получится 12,3. то есть 12 - целая часть, а 3 - остаток. далее снова делим на 10. 1,23. и в последний раз: 0,123. целая часть =0. на этом останавливаемся. а сколько раз выполнили деление? 3. вот и ответ. теперь запишем на паскале: как видно из вышенаписанного, нужно продолжать выполнять действия, пока целая часть не равна 0. то есть while n> 0 do и у нас есть некоторый счетчик итераций, значение которого и будет являться ответом. а тело цикла: n div 10 (целочисленное деление) inc(k) (увеличение счетчика) вторая: как я понял, нужно просто вывести на экран то, что должно получиться? нужно в цикле пройти по каждому символу. если он равен "*" (if s[i] = '*' then), ничего не делать. иначе вывести его два раза (write(s[i], добавить данные в начало файла нельзя. нужно либо записывать в новый, либо перезаписывать исходный (предварительно считав все в память)
Решение больше математическое получилось с выводом формулы, там уж сами выберете как вам лучше. На каждый следующий день спортсмен пробегает в большее расстояние чем в предыдущий. Т.е. если обобщить: Расстояние, которое спортсмен пробегает каждый n-ный день. В итоге, у нас получилась геометрическая прогрессия, где Чтобы найти сумму первых n членов геометрической прогрессии: В программе пишем: _________________________ var i:integer; k:double; begin k:=1.1; for i:=1 to 6 do k:=k*1.1; writeln(100*(k-1):0:2); end. __________________________