Сделать эту задачу можно двумя способами. Первый - чисто арифметический. Второй - более хитрый, через операции над строками. Мы пойдем вторым путем, он короче и практичней, такой код будет требовать меньше ресурсов машины для реализации (что незаметно в таких маленьких задачках, но довольно критично в реальной жизни, поэтому учимся писать дальновидные коды).
<em>Var n:longint;</em>
<em>Function MinDigit(n:longint):integer;</em>
<em>var s,a:string; c,i:integer;</em>
<em>begin</em>
<em> str(n,s);</em>
<em> a:=s[1];</em>
<em> for i:=2 to length(s) do</em>
<em> if s[i]<a then a:=s[i];</em>
<em> val(a,n,c);
</em> MinDigit:=n;
<em>end;</em>
<em>Function MaxDigit(n:longint):integer;</em>
<em>var s,a:string; c,i:integer;</em>
<em>begin</em>
<em> str(n,s);</em>
<em> a:=s[1];</em>
<em> for i:=2 to length(s) do</em>
<em> if s[i]>a then a:=s[i];</em>
<em> val(a,n,c);
</em> MaxDigit:=n;
<em>end;</em>
<em>Begin</em>
<em> readln(n);</em>
<em> writeln(MinDigit(n),' ',MaxDigit(n));</em>
<em>End.
</em>По факту переменную <em>"c"</em> можно убрать из функций и использовать вместо нее уже не нужную в конце <em>"i"</em>, таким образом избавившись от одной переменной. Но это не принципиально на самом деле, к тому же так понятней, какая переменная за что отвечает.
Program n1;
var i,n: integer;
begin
write('введите число: ');
readln(n);
for i:=1 to n do write(i,' ');
end.
Ответ 192 стороны
Объяснение: после каждого шага фигура умножается на 4