Los tres números especiales que hay entre 1 y 300 son
3 ya que 3^2 = 1^3 + 2^3
13 ya que 13^2 = 8^3 + (-7)^3
181 ya que 181^2 = 105^3 + (-104)^3
Luego la suma es
3+13+181 = 197
Y este es el programa que he hecho, no explico nada a no ser que quieras saber algo.
program NumerosEspeciales;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes
{ you can add units after this };
var
limite, maximo,i,k,m,n,p: qword;
j:int64;
primo: boolean;
begin
write('Hasta que numero calculamos? : ');
readln(limite);
i:=limite*limite;
maximo:= trunc((-3+sqrt(9+12*(i-1))/6));
writeln('Maximo: ',Maximo);
for i:=1 to maximo do
for j:=-i+1 to maximo do
begin
k:= i*i*i+j*j*j;
m:= trunc(sqrt(k));
if m*m=k then
begin
write(i:12,j:12,m:12);
if (m<2) or (m mod 2 = 0)then primo:=false else primo:=true;
if primo then
begin
n:=trunc(sqrt(m));
primo:=true;
p:=3;
while (p <= n) and primo do
begin
if m mod p = 0 then primo:= false;
inc(p,2);
end;
end;
if primo and (j>i) then
writeln(' PARA LUEGO')
else
if primo then
begin
writeln(' SI');
readln;
end
else
writeln (' NO PRIMO');
end;
end;
writeln('FIN');
readln;
end.
Aquí tienes el programa en Pascal: Programa números especiales
Está hecho para Lazarus FreePascal, para otro compilador a lo mejor hay que modificar algo. Incluye un ejecutable que no sé si funcionará en tu ordenador, puede que no e incluso tengo recuerdos que un antivirus que tenía consideraba que los ejecutables de FreePascal tenían virus.
Y eso es todo, si necesitas saber algo pregunta.
Saludos.
:
: