VB.NET2010 给定求组合数公式为Cmn=m!/n!(m-n)!,编一程序,输入m和n的值,求Cmn的值.要用Su

VB.NET2010 给定求组合数公式为Cmn=m!/n!(m-n)!,编一程序,输入m和n的值,求Cmn的值.要用Sub过程
Imports System.Console
Module Module1
Private Sub fac(ByVal x As ULong,ByVal y As ULong)
Dim i&,a&
a = 1
For i = 1 To x
a = a * i
Next i
y = a
End Sub
Sub Main()
Dim m&,n&,Cmn&,c1&,c2&,c3&
WriteLine("m=")
m = Val(ReadLine())
WriteLine("n=")
n = Val(ReadLine())
Call fac(m,c1) :Call fac(n,c2) :Call fac(m - n,c3)
Cmn = c1 / (c2 * c3)
Write("Cmn={0}",Cmn)
End Sub
End Module
老是说 Cmn = c1 / (c2 * c3)运算溢出,
mayola 1年前 已收到1个回答 举报

ee经济 幼苗

共回答了19个问题采纳率:94.7% 举报

Module Module1
Private Sub fac(ByVal x As ULong,ByRef y As ULong)
Dim i&,a&
a = 1
For i = 1 To x
a = a * i
Next i
y = a
End Sub
Sub Main()
Dim m&,n&,Cmn&,c1&,c2&,c3&
Console.WriteLine("m=")
m = Val(Console.ReadLine())
Console.WriteLine("n=")
n = Val(Console.ReadLine())
Call fac(m,c1) :Call fac(n,c2) :Call fac(m - n,c3)
Cmn = c1 / (c2 * c3)
Console.Write("Cmn={0}",Cmn)
End Sub
End Module

1年前 追问

9

mayola 举报

ΪʲôڶбáByRef y As ulong,áByVal y As ulongʲôأлл

举报 ee经济

byval传的是形参,在过程中的改变不会造成实际值的改变 byref传的是实参,在过程的改变会造成实际值的改变
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.011 s. - webmaster@yulucn.com