Найти все натуральные числа от 1 до N, представимые в виде суммы кубов двух натуральных...

0 голосов
64 просмотров

Найти все натуральные числа от 1 до N, представимые в виде суммы кубов двух натуральных чисел
pascal abc


Информатика (12 баллов) | 64 просмотров
Дан 1 ответ
0 голосов

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.

(32.2k баллов)