Var i,j,j3,k,k3,n:longint; c:real;begin // константа, 1/корень кубический из двух c:=1.0/power(2,1.0/3.0); writeln('N=? '); readln(n); // основной цикл, пробуем разбивать i на сумму кубов for i:=1 to n do begin // первое число, от 1 до корня кубического из (i/2) for j:=1 to floor(power(i,1.0/3.0)*c) do begin // куб первого числа j3:=j*j*j; // куб второго числа, или не куб, позже проверим k3:=i-j3; // само второе число k:=round(power(k3,1.0/3.0)); // проверка, является ли k3 кубическим if ((k3 = k*k*k) and (k>0)) then // Да, к3 - куб :) writeln('i=',i,' j=',j,' k=',k); end; end;end.
var c, a: array[1..20] of integer; i: integer; begin write('Первый массив '); for i := 1 to 20 do begin c[i] := i * (-5); write(c[i], ' '); end; writeln; write('Преобразованный массив '); for i := 1 to 20 do begin a[i] := c[20 - i + 1]; write(a[i], ' '); end; end.
ИЛИ Программа не использующая два массива, а просто переворачивающая первый
var c: array[1..20] of integer; i: integer; begin write('Первый массив '); for i := 1 to 20 do begin c[i] := i * (-5); write(c[i], ' '); end; writeln; write('Преобразованный массив '); for i := 20 downto 1 do write(c[i], ' '); end.