codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
#!/usr/bin/env ruby def rprod(k, rv, current, *nums) puts "#{rv} * #{current}" k.call(0) if current == 0 || rv == 0 nums.empty? ? (rv * current) : rprod(k, rv * current, *nums) end def prod(first, *rest) callcc { |k| rprod(k, first, *rest) } end puts "Seq 1: #{prod(1, 2, 3, 4, 5, 6)}" puts "" puts "Seq 2: #{prod(1, 2, 0, 3, 4, 5, 6)}"
Private
[
?
]
Run code
Submit