Vb.net 用于Visual Basic中的下一个循环

Vb.net 用于Visual Basic中的下一个循环,vb.net,loops,for-loop,next,Vb.net,Loops,For Loop,Next,我想在VisualBasic中计算二项式系数,但我只能做分子部分,因为我在分母部分迷失了方向。我使用的方程式如下图所示 看C(n,k)方程,我只能做分子,它是n的阶乘。我的分母有问题。我的分子代码(n!)如下: Dim nfactorial As Integer = 1 For i As Integer = 1 To txt3.Text nfactorial *= i Next 分母部分该怎么办?谢谢 不能单独计算分子和分母。您是否尝试过在.NET中查找(30!

我想在VisualBasic中计算二项式系数,但我只能做分子部分,因为我在分母部分迷失了方向。我使用的方程式如下图所示

看C(n,k)方程,我只能做分子,它是n的阶乘。我的分母有问题。我的分子代码(n!)如下:

Dim nfactorial As Integer = 1
    For i As Integer = 1 To txt3.Text
       nfactorial *= i
    Next

分母部分该怎么办?谢谢

不能单独计算分子和分母。您是否尝试过在.NET中查找(30!),尤其是使用
Integer
? 这是家庭作业吗?无论如何,请看下面的帖子:

vb中的代码:

Dim result As Decimal = 1
For i As Integer = 1 To K
    result *= N - (K - i)
    result /= i
Next
Return result
试试这个:

'by example: C(5,3) = 10
Dim n, k As Integer
Dim result As String = ""
n = txt3.Text
For k = 0 To 3
    result = result & "For C(" & n & "," & k & ")=" & C(n, k) & vbCrLf
Next
MsgBox(result)
.  
.
.

Private Function C(n As Integer, k As Integer)
    Dim result As Decimal = 1
    For i As Integer = 1 To k
        result *= n - (k - i)
        result /= i
    Next
    Return result
End Function

编辑:对于通过键盘输入的
k=0到3
n

我忘了在我的问题中添加,只有n值是用户输入的。从您给定的示例中,N和K都是用户输入。感谢您的帮助tho!:)有什么不同,您可以将
Dim K设置为Decimal=txt3。Text
也许您可以回答这个问题:)假设n仍然是唯一的用户输入。如果n=3。我想得到的是C(3,0)、C(3,1)、C(3,2)和C(3,3)的C(n,k)。上面的代码对这个例子仍然有效吗?@Sonson很高兴你解决了它。用另一个循环换行N值?此代码有效。然而,在本例中,n和k都是用户输入。而在我的例子中,只有n是用户输入(我忘了提到,抱歉)。无论如何,谢谢!:)检查代码,
n
获取
textbox
的值,
k
是一个常量值,可以根据您的要求进行更改。另一个问题。N仍然是唯一的用户输入。如果n=3。我想得到C(3,0),C(3,1),C(3,2)和C(3,3)的C(n,k)。上面的代码对这个例子仍然有效吗?我知道我只需要将k值更改为0、1、2或3。但是,如果期望的结果是同时获得所有值呢?