var n,k:integer;
begin
readln(n);
k:=n mod 10;
while n>0 do begin
n:=n div 10;
if k<(n mod 10) then k:=n mod 10;
if k=9 then break;
end;
writeln(k);
end.
Карта местности
а модель
схема прибора
Для небольших значений k вполне подойдет очередь.
var i,n,k,lf,rt,bg,nd: integer;
<span> a: array[1..50000] of integer;
</span><span>begin
</span><span> write('N = '); readln(n);
</span><span> write('K = '); readln(k);
</span><span> for i:=1 to 50000 do a[i]:=0;
</span><span> bg:=1; nd:=1;
</span><span> a[bg]:=n;
</span><span> repeat
</span><span> n:=a[bg];
</span><span> if n mod 2 = 0 then lf:=(n div 2)-1
</span><span> else lf:=n div 2;
</span><span> if n mod 2 = 0 then rt:=lf+1
</span><span> else rt:=lf;
</span><span> inc(nd);
</span><span> a[nd]:=rt; inc(nd);
</span><span> a[nd]:=lf;
</span><span> inc(bg);
</span><span> dec(k);
</span><span> if nd>49500 then
</span><span> begin
</span><span> writeln('слишком большое k');
</span><span> exit;
</span><span> end;
</span><span> until k=0;
</span><span> writeln(lf,' ',rt);
end. </span>
N = 12456987
<span>K = 23198
379 379
</span>
N = 20
<span>K = 4
</span><span>2 2
</span><span>
N = 20
K = 5
1 2
</span>
Ответ:
const g = 5; v = 7;
var a: array[1..g,1..v] of integer;
i,j,maxj,minj,p:integer;
begin
writeln('Массив: ');
for i:=1 to g do
begin
for j:=1 to v do
begin
a[i,j]:=random(90)+10;
write(a[i,j]:4)
end;
writeln
end;
for i:=1 to g do
begin
maxj:=1;
minj:=1;
for j:=1 to v do
begin
if a[i,j]>a[i,maxj] then maxj:=j;
if a[i,j]<a[i,minj]then minj:=j;
end;
p:=a[i,maxj];
a[i,maxj]:=a[i,minj];
a[i,minj]:=p;
end;
writeln;
writeln('Преобразованный массив: ');
for i:=1 to g do
begin
for j:=1 to v do write(a[i,j]:4);
writeln
end;
end.
Объяснение: