Count the coins: Difference between revisions

Content added Content deleted
Line 1,205: Line 1,205:
if sum = 0
if sum = 0
r = 1
r = 1
elif sum < 0 or kind = 0
break 1
.
if sum < 0 or kind = 0
r = 0
r = 0
else
break 1
chind = sum * 7 + kind
if cache[chind] = 0
call count sum - val[kind] kind r2
call count sum kind - 1 r1
cache[chind] = r1 + r2
.
r = cache[chind]
.
.
chind = sum * 7 + kind
if cache[chind] = 0
call count sum - val[kind] kind r2
call count sum kind - 1 r1
cache[chind] = r1 + r2
.
r = cache[chind]
.
.
call count 100 4 r
call count 100 4 r
print r
print r
call count 10000 6 r
call count 10000 6 r
print r</syntaxhighlight>
print r
call count 100000 6 r
# this is not exact, since numbers
# are doubles and r > 2^53
print r
</syntaxhighlight>


=={{header|EchoLisp}}==
=={{header|EchoLisp}}==