Der Lehrsatz des Pythagoras in der 3. Potenz
12.01.2009 um 13:12@Tommy137
Stimmt, guter Punkt. Mit meiner Kontrolle schmeiss ich gültige Lösungen weg. Die Primfaktoren müssen einfach nur verschieden sein ...
Habe das Skript jetzt diesbezüglich mal noch angepasst:
// Unterhalb dieser Linie beginnt Skript
clear
function erg=gcd2(a,b)
r=modulo(a,b)
while(r>0) a=b;b=r;r=modulo(a,b);end
erg=b
endfunction
function quad()
A=1;
UPB=1000;
UPC=1000;
Third=1.0/3.0;
for B=A:UPB;
for C=A:UPC;
qval=A*A*A+B*B*B+C*C*C;
val=ceil(qval^(Third));
K=val;
val=K*K*K;
if (val==qval & C > B)
t1=gcd2(A,B);
t2=gcd2(A,C);
t3=gcd2(A,K);
t4=gcd2(t1,t2);
t5=gcd2(t1,t3);
if (t4==1 | t5==1)
printf("\n%d %d %d %.0f", A, B, C, K);
end
end
end
end
printf("\n");
endfunction
quad()
// Oberhalt dieser Linie endet Skript
Stimmt, guter Punkt. Mit meiner Kontrolle schmeiss ich gültige Lösungen weg. Die Primfaktoren müssen einfach nur verschieden sein ...
Habe das Skript jetzt diesbezüglich mal noch angepasst:
// Unterhalb dieser Linie beginnt Skript
clear
function erg=gcd2(a,b)
r=modulo(a,b)
while(r>0) a=b;b=r;r=modulo(a,b);end
erg=b
endfunction
function quad()
A=1;
UPB=1000;
UPC=1000;
Third=1.0/3.0;
for B=A:UPB;
for C=A:UPC;
qval=A*A*A+B*B*B+C*C*C;
val=ceil(qval^(Third));
K=val;
val=K*K*K;
if (val==qval & C > B)
t1=gcd2(A,B);
t2=gcd2(A,C);
t3=gcd2(A,K);
t4=gcd2(t1,t2);
t5=gcd2(t1,t3);
if (t4==1 | t5==1)
printf("\n%d %d %d %.0f", A, B, C, K);
end
end
end
end
printf("\n");
endfunction
quad()
// Oberhalt dieser Linie endet Skript