Если A, B имеют общий делитель d, то и A + B делится на d. Отсюда идея: найдем наибольший делитель N, меньший N, и представим всё в виде d + (N - d). d будем искать так: найдём наименьший делитель q, не равный 1 (если число составное, он не больше корня из N), тогда d = N/q.
var
q, d, n: longint;
isfound: boolean;
begin
readln(n);
isfound := false;
for q := 2 to trunc(sqrt(n)) + 1 do
if n mod q = 0 then
begin
d := n div q;
write(d, ' ', n - d);
isfound := true;
break;
end;
if not isfound then
write(1, ' ', n - 1);
end.
<span>0.001
</span><span>Решение должно иметь от 20 до 5000 символов</span>
1)var
n:Integer;
a:array [1..10] of Integer;
begin
Read(n);
a[1]:=n mod 10;
n:=n div 10;
a[2]:=n mod 10;
Write((a[1]+a[2])/2);
end.
2) var
n:Integer;
a:array [1..10] of Integer;
begin
Read(n);
a[1]:=n mod 10;
n:=n div 10;
a[2]:=n mod 10;
Write(a[2]-a[1]);
end.
3) var
n,m:Integer;
begin
Read(n);
m:=n div 1000;
Write(m,'кг',' ',n-m*1000,'г' );
end.
4)var
n,m:Integer;
begin
Read(n);
m:=n div 10000;
Write(m,'километров квадратных');
end.
На фото всё размыто, и не видно(