Pythagorean quadruples: Difference between revisions
Content added Content deleted
(Pythagorean quadruples in Yabasic) |
No edit summary |
||
Line 100: | Line 100: | ||
<pre> |
<pre> |
||
1 2 4 5 8 10 16 20 32 40 64 80 128 160 256 320 512 640 1024 1280 2048 |
1 2 4 5 8 10 16 20 32 40 64 80 128 160 256 320 512 640 1024 1280 2048 |
||
</pre> |
|||
=={{header|Amazing Hopper}}== |
|||
The process runs in 3.2 secs. on an Intel Core 2 Duo at 2.53 or 2.66 GHz. It's SLOW, but believe me, when it comes to Hopper, it's quite a feat! :D |
|||
<lang> |
|||
#include <flow.h> |
|||
DEF-MAIN(argv, argc) |
|||
SET(N, 2200) |
|||
DIM( MUL(MUL(N,N),2) ) AS-ZEROS( temp ) |
|||
DIM( N ) AS-ZEROS( found ) |
|||
MSET( a,T1,T2 ) |
|||
TIC(T1) |
|||
SEQ-SPC(1,N,N,a), LET( a := MUL(a,a) ) |
|||
SET(i,1) |
|||
PERF-UP(i,N,1) |
|||
SET(r,0), LET( r := ADD( [i] GET( a ), [i:end] CGET(a) ) ) |
|||
SET-RANGE( r ), SET(temp, 1), CLR-RANGE |
|||
NEXT |
|||
SET(c,1), SET(s,3), MSET(s1,s2,d) |
|||
PERF-UP(c, N, 1) |
|||
LET( s1 := s ) |
|||
s += 2 |
|||
LET( s2 := s ) |
|||
LET( d := ADD(c,1) ) |
|||
PERF-UP(d, N, 1) |
|||
COND ( [s1] GET(temp) ) |
|||
[d] {1} PUT(found) |
|||
CEND |
|||
s1 += s2 |
|||
s2 += 2 |
|||
NEXT |
|||
NEXT |
|||
TOC(T1, T2), PRNL("Time = ", T2 ) |
|||
PRN( "Imprimiendo resultados:\n" ) |
|||
CART( IS-ZERO?( found ) ) MOVE-TO( r ) |
|||
PRNL( r ) |
|||
MCLEAR(temp, found, a, r) |
|||
END |
|||
</lang> |
|||
{{out}} |
|||
<pre> |
|||
Time = 3.20596 |
|||
Imprimiendo resultados: |
|||
1,2,4,5,8,10,16,20,32,40,64,80,128,160,256,320,512,640,1024,1280,2048 |
|||
</pre> |
</pre> |
||