38 lines
829 B
Text
38 lines
829 B
Text
#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), SET(r,0)
|
|
PERF-UP(i,N,1)
|
|
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
|