2016 Update
This commit is contained in:
parent
948b86eafa
commit
dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions
|
|
@ -1,2 +1,2 @@
|
|||
def rFact
|
||||
rFact = { (it > 1) ? it * rFact(it - 1) : 1 }
|
||||
rFact = { (it > 1) ? it * rFact(it - 1) : 1 as BigInteger }
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
(0..6).each { println "${it}: ${rFact(it)}" }
|
||||
def iFact = { (it > 1) ? (2..it).inject(1 as BigInteger) { i, j -> i*j } : 1 }
|
||||
|
|
|
|||
|
|
@ -1 +1,17 @@
|
|||
def iFact = { (it > 1) ? (2..it).inject(1) { i, j -> i*j } : 1 }
|
||||
def time = { Closure c ->
|
||||
def start = System.currentTimeMillis()
|
||||
def result = c()
|
||||
def elapsedMS = (System.currentTimeMillis() - start)/1000
|
||||
printf '(%6.4fs elapsed)', elapsedMS
|
||||
result
|
||||
}
|
||||
|
||||
def dashes = '---------------------'
|
||||
print " n! elapsed time "; (0..15).each { def length = Math.max(it - 3, 3); printf " %${length}d", it }; println()
|
||||
print "--------- -----------------"; (0..15).each { def length = Math.max(it - 3, 3); print " ${dashes[0..<length]}" }; println()
|
||||
[recursive:rFact, iterative:iFact].each { name, fact ->
|
||||
printf "%9s ", name
|
||||
def factList = time { (0..15).collect {fact(it)} }
|
||||
factList.each { printf ' %3d', it }
|
||||
println()
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue