A Maple egy fejlett matematikai problémamegoldó és programozói szoftver.
-
xDJCx #448
A tétel szerint minden egész előáll 4 négyzetszám összegeként, háromra már nem igaz ez. Erre is van külön tétel..
LANGRANGE:=proc(n::posint)
local k,m,s;
s:=cat(n," elõáll 3 négyzetszám összegeként. ");
for k from 0 to n do
for m from 0 to n do
if 4^k*(8*m+7)=n then s:=cat(n," nem all elo 3 negyzetszam osszegekent! "):end if;
end do;
end do;
s;
end proc;
LANGRANGE(168);# pl. 168 nem áll elő 3 négyzetszám összegeként
2. eljárás: 1..n-ig megnézi, melyek nem állnak elő 3 négyzetszám, összegeként:
LANGRANGEs:=proc(N::list)
local k,m,n,s,nemallnakelo,t;
n:=nops(N);nemallnakelo:=[]:
for t from 1 to n do
for k from 0 to n do
for m from 0 to n do
if 4^k*(8*m+7)=N[t] then nemallnakelo:=[nemallnakelo[],N[t]]:end if;
end do;
end do;
end do;
lprint(cat("Ezek az egeszek nem allnak elõ 3 negyzetszam osszegekent 1- ",n,"-ig:"));nemallnakelo;
end proc;
LANGRANGEs([$1..200]);# 1.. 200-ig
Vesd össze:
http://www.research.att.com/~njas/sequences/A004215