برنامه ای در ویژوال بیسیک دات نت که ترکیب n شی از k شی را محاسبه کند.
Public Class Form1
'C(n,k) by Amir
'www.samiantec.ir
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim n, k, s As Integer
n = Val(TextBox1.Text)
k = Val(TextBox2.Text)
If k > n Then
MsgBox("Error: K>N is false")
Else
s = (factorial(n)) / (factorial(k) * factorial(n - k))
TextBox3.Text = s
End If
End Sub
Function factorial(ByVal n As Integer) As ULong
Dim m As ULong
m = 1
For i = 2 To n
m = m * i
Next
Return m
End Function
End Class
این برنامه الگوریتم دیگری هم دارد .. نظر دهید

مشکل این کد در زبان سی اینه که از یه عددی به بعد اوورفلو میشه
چطور میشه برطرفش کرد؟
بسته به نوع متغیرها در هرزبانی از یک حدی به بعد Overflow داده میشه، راه برای حل این مشکل انتخاب کردن نوع داده بزرگ تر هست. به عنوان مثال اگر در سی از ULLONG استفاده کنید تا حدودی مشکلتون حل میشه.
البته این نمونه کد داده شده برای برنامه نویس های مبتدی هست، اگر به دنبال راه بهینه و سریعتر هستید نباید از توابع مستقل مثل Factorial برای حل این مسئله استفاده کنید.