Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
12
Task/Factorial/Smalltalk/factorial-1.st
Normal file
12
Task/Factorial/Smalltalk/factorial-1.st
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
Number extend [
|
||||
my_factorial [
|
||||
(self < 2)
|
||||
ifTrue: [ ^1 ]
|
||||
ifFalse: [
|
||||
^ (2 to: self) fold: [ :a :b | a * b ]
|
||||
]
|
||||
]
|
||||
].
|
||||
|
||||
7 factorial printNl.
|
||||
7 my_factorial printNl.
|
||||
7
Task/Factorial/Smalltalk/factorial-2.st
Normal file
7
Task/Factorial/Smalltalk/factorial-2.st
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
Number extend [
|
||||
factorial [
|
||||
self < 0 ifTrue: [ self error: 'factorial is defined for natural numbers' ].
|
||||
self isZero ifTrue: [ ^1 ].
|
||||
^self * ((self - 1) factorial)
|
||||
]
|
||||
].
|
||||
10
Task/Factorial/Smalltalk/factorial-3.st
Normal file
10
Task/Factorial/Smalltalk/factorial-3.st
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
|fac|
|
||||
|
||||
fac := [:n |
|
||||
n < 0 ifTrue: [ self error: 'fac is defined for natural numbers' ].
|
||||
n <= 1
|
||||
ifTrue: [ 1 ]
|
||||
ifFalse: [ n * (fac value:(n - 1)) ]
|
||||
].
|
||||
|
||||
fac value:1000.
|
||||
4
Task/Factorial/Smalltalk/factorial-4.st
Normal file
4
Task/Factorial/Smalltalk/factorial-4.st
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
| fac |
|
||||
fac := [ :n | (1 to: n) inject: 1 into: [ :prod :next | prod * next ] ].
|
||||
fac value: 10.
|
||||
"3628800"
|
||||
3
Task/Factorial/Smalltalk/factorial-5.st
Normal file
3
Task/Factorial/Smalltalk/factorial-5.st
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
fac := [:n | (1 to: n) product].
|
||||
fac value:40
|
||||
-> 815915283247897734345611269596115894272000000000
|
||||
Loading…
Add table
Add a link
Reference in a new issue