Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,70 @@
|
|||
/* NetRexx */
|
||||
options replace format comments java crossref symbols nobinary
|
||||
|
||||
numeric digits 3000
|
||||
|
||||
runSample(arg)
|
||||
return
|
||||
|
||||
-- ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
|
||||
method lcm(m_, n_) public static
|
||||
L_ = m_ * n_ % gcd(m_, n_)
|
||||
return L_
|
||||
|
||||
-- ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
|
||||
-- Euclid's algorithm - iterative implementation
|
||||
method gcd(m_, n_) public static
|
||||
loop while n_ > 0
|
||||
c_ = m_ // n_
|
||||
m_ = n_
|
||||
n_ = c_
|
||||
end
|
||||
return m_
|
||||
|
||||
-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
method runSample(arg) private static
|
||||
parse arg samples
|
||||
if samples = '' | samples = '.' then
|
||||
samples = '-6 14 = 42 |' -
|
||||
'3 4 = 12 |' -
|
||||
'18 12 = 36 |' -
|
||||
'2 0 = 0 |' -
|
||||
'0 85 = 0 |' -
|
||||
'12 18 = 36 |' -
|
||||
'5 12 = 60 |' -
|
||||
'12 22 = 132 |' -
|
||||
'7 31 = 217 |' -
|
||||
'117 18 = 234 |' -
|
||||
'38 46 = 874 |' -
|
||||
'18 12 -5 = 180 |' -
|
||||
'-5 18 12 = 180 |' - -- confirm that other permutations work
|
||||
'12 -5 18 = 180 |' -
|
||||
'18 12 -5 97 = 17460 |' -
|
||||
'30 42 = 210 |' -
|
||||
'30 42 = . |' - -- 210; no verification requested
|
||||
'18 12' -- 36
|
||||
|
||||
loop while samples \= ''
|
||||
parse samples sample '|' samples
|
||||
loop while sample \= ''
|
||||
parse sample mnvals '=' chk sample
|
||||
if chk = '' then chk = '.'
|
||||
mv = mnvals.word(1)
|
||||
loop w_ = 2 to mnvals.words mnvals
|
||||
nv = mnvals.word(w_)
|
||||
mv = mv.abs
|
||||
nv = nv.abs
|
||||
mv = lcm(mv, nv)
|
||||
end w_
|
||||
lv = mv
|
||||
select case chk
|
||||
when '.' then state = ''
|
||||
when lv then state = '(verified)'
|
||||
otherwise state = '(failed)'
|
||||
end
|
||||
mnvals = mnvals.space(1, ',').changestr(',', ', ')
|
||||
say 'lcm of' mnvals.right(15.max(mnvals.length)) 'is' lv.right(5.max(lv.length)) state
|
||||
end
|
||||
end
|
||||
|
||||
return
|
||||
Loading…
Add table
Add a link
Reference in a new issue