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 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 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
SW1wb3J0cyBTeXN0ZW0KUHVibGljIENsYXNzIFBhc2NhbGxzX1RyaWFuZ2xlCglQdWJsaWMgU2hhcmVkIFN1YiBNYWluKCkKCQknUmV0dXJucyB0aGUgbnVtYmVyIGF0IHRoZSBsb2NhdGlvbiBpbnNpZGUgcGFzY2FsbHMgdHJpYW5nbGUKCQljb25zb2xlLndyaXRlbGluZShQYXNjYWxsc19SZXR1cm5fbl9PZl9rKDQsMikpCglFbmQgU3ViCgkKCVB1YmxpYyBGdW5jdGlvbiBSZXR1cm5fRmFjdG9yaWFsX09mX24oQnl2YWwgbiBhcyBJbnRlZ2VyKQoJCSduISA9IG4gKiAobi0xKS4uLiAqIDMgKiAyICogMQoJCWRpbSBuRmFjdG9yaWFsIGFzIHVpbnQ2NCA9IDEKCQlmb3IgaSBhcyB1aW50NjQgPSBuICB0byAxIHN0ZXAgLTEKCQkJbkZhY3RvcmlhbCAqPSBpCgkJTmV4dAoJCVJldHVybiBuRmFjdG9yaWFsCglFbmQgRnVuY3Rpb24KCglQdWJsaWMgRnVuY3Rpb24gUGFzY2FsbHNfUmV0dXJuX25fT2ZfayhCeXZhbCBuIGFzIGludDY0LCBCeXZhbCBrIGFzIGludDY0KQoJCScobiBjaG9vc2UgaykgPSBuIS9rISoobiAtIGspIQoJCSdFeGFtcGxlOiBuID0gUm93LCBrID0gVGVybQoJCScgICAgICAxICAgICAgICAgIC0gUm93KDApCgkJJyAgICAgMSAxICAgICAgICAgLSBSb3coMSkKCQknICAgIDEgMiAxICAgICAgICAtIFJvdygyKQoJCScgICAxIDMgMyAxICAgICAgIC0gUm93KDMpCgkJJyAgMSA0IDYgNCAxICAgICAgLSBSb3coNCkKCQknCgkJJyAgJyAnICcgJyAnCgkJJyAgJyAnICcgJyBUZXJtKDQpCgkJJyAgJyAnICcgVGVybSgzKQoJCScgICcgJyBUZXJtKDIpCgkJJyAgJyBUZXJtKDEpCgkJJyAgVGVybSgwKQoJCVJldHVybiAoUmV0dXJuX0ZhY3RvcmlhbF9PZl9uKG4pIC8gKFJldHVybl9GYWN0b3JpYWxfT2ZfbihrKSAqIFJldHVybl9GYWN0b3JpYWxfT2ZfbihuLWspKSkKCUVuZCBGdW5jdGlvbgplbmQgY2xhc3M=