RosettaCodeData/Task/Magic-constant/REXX/magic-constant.rexx
2026-02-01 16:33:20 -08:00

59 lines
886 B
Rexx

-- 23 Aug 2025
include Setting
say 'MAGIC CONSTANT'
say version
say
numeric digits 23
call Getmagics 6e8
call Task1
call Task2
call Task3
exit
Getmagics:
call Time('r')
arg xx
say 'Get magic constants up to' xx
say Magics(xx) 'collected'
say Format(Time('e'),,3) 'seconds'
say
return
Task1:
call Time('r')
say 'The first 25 magic constants are'
do i = 3 to 28
call Charout ,magi.i' '
end
say
say Format(Time('e'),,3) 'seconds'
say
return
Task2:
call Time('r')
say 'The 1000th magic constant is'
say magi.1002
say Format(Time('e'),,3) 'seconds'
say
return
Task3:
call Time('r')
say 'Smallest magic square with constant > 10^n is'
say Left('n',5) Right('order',8)
say '--------------'
e = 1
do i = 3 to 6e7
if Magic(i) > 1'E'e then do
say Left('10^'e,5) Right(i,8)
e = e+1
end
end
say '--------------'
say Format(Time('e'),,3) 'seconds'
say
return
include Math