Imports System
Public Class Pascalls_Triangle
Public Shared Sub Main()
'Returns the number at the location inside pascalls triangle
console.writeline(Pascalls_Return_n_Of_k(4,2))
End Sub
Public Shared Function Return_Factorial_Of_n(Byval n as Integer)
'n! = n * (n-1)... * 3 * 2 * 1
dim nFactorial as uint64 = 1
for i as uint64 = n to 1 step -1
nFactorial *= i
Next
Return nFactorial
End Function
Public Shared Function Pascalls_Return_n_Of_k(Byval n as int64, Byval k as int64)
'(n choose k) = n!/k!*(n - k)!
'Example: n = Row, k = Term
' 1 - Row(0)
' 1 1 - Row(1)
' 1 2 1 - Row(2)
' 1 3 3 1 - Row(3)
' 1 4 6 4 1 - Row(4)
'
' ' ' ' ' '
' ' ' ' ' Term(4)
' ' ' ' Term(3)
' ' ' Term(2)
' ' Term(1)
' Term(0)
Return (Return_Factorial_Of_n(n) / (Return_Factorial_Of_n(k) * Return_Factorial_Of_n(n-k)))
End Function
end class
SW1wb3J0cyBTeXN0ZW0KUHVibGljIENsYXNzIFBhc2NhbGxzX1RyaWFuZ2xlCglQdWJsaWMgU2hhcmVkIFN1YiBNYWluKCkKCQknUmV0dXJucyB0aGUgbnVtYmVyIGF0IHRoZSBsb2NhdGlvbiBpbnNpZGUgcGFzY2FsbHMgdHJpYW5nbGUKCQljb25zb2xlLndyaXRlbGluZShQYXNjYWxsc19SZXR1cm5fbl9PZl9rKDQsMikpCglFbmQgU3ViCgkKCVB1YmxpYyBTaGFyZWQgRnVuY3Rpb24gUmV0dXJuX0ZhY3RvcmlhbF9PZl9uKEJ5dmFsIG4gYXMgSW50ZWdlcikKCQknbiEgPSBuICogKG4tMSkuLi4gKiAzICogMiAqIDEKCQlkaW0gbkZhY3RvcmlhbCBhcyB1aW50NjQgPSAxCgkJZm9yIGkgYXMgdWludDY0ID0gbiAgdG8gMSBzdGVwIC0xCgkJCW5GYWN0b3JpYWwgKj0gaQoJCU5leHQKCQlSZXR1cm4gbkZhY3RvcmlhbAoJRW5kIEZ1bmN0aW9uCgoJUHVibGljIFNoYXJlZCBGdW5jdGlvbiBQYXNjYWxsc19SZXR1cm5fbl9PZl9rKEJ5dmFsIG4gYXMgaW50NjQsIEJ5dmFsIGsgYXMgaW50NjQpCgkJJyhuIGNob29zZSBrKSA9IG4hL2shKihuIC0gaykhCgkJJ0V4YW1wbGU6IG4gPSBSb3csIGsgPSBUZXJtCgkJJyAgICAgIDEgICAgICAgICAgLSBSb3coMCkKCQknICAgICAxIDEgICAgICAgICAtIFJvdygxKQoJCScgICAgMSAyIDEgICAgICAgIC0gUm93KDIpCgkJJyAgIDEgMyAzIDEgICAgICAgLSBSb3coMykKCQknICAxIDQgNiA0IDEgICAgICAtIFJvdyg0KQoJCScKCQknICAnICcgJyAnICcKCQknICAnICcgJyAnIFRlcm0oNCkKCQknICAnICcgJyBUZXJtKDMpCgkJJyAgJyAnIFRlcm0oMikKCQknICAnIFRlcm0oMSkKCQknICBUZXJtKDApCgkJUmV0dXJuIChSZXR1cm5fRmFjdG9yaWFsX09mX24obikgLyAoUmV0dXJuX0ZhY3RvcmlhbF9PZl9uKGspICogUmV0dXJuX0ZhY3RvcmlhbF9PZl9uKG4taykpKQoJRW5kIEZ1bmN0aW9uCmVuZCBjbGFzcw==