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.