编写一个程序,使用函数过程的方式求和数s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)的值
来源:百度知道 编辑:UC知道 时间:2024/05/26 17:01:29
int Sum(int n)
{
return (n == 1 ? 1 : n + Sum(n - 1));
}
int ComboSum(int n)
{
return (n == 1 ? 1 : Sum(n) + ComboSum(n - 1));
}
呵呵,自己推下公式吧:
s=1+(1+2)+(1+2+3)+…+(1+2+3+…+n)
=n(n+1)(2*n+1)/12 + n(n+1)/4
=n(n+1)(n+2)/6
Public Function SSum(byval n as int32) as int32
Return n*(n+1)*(n+2)/6
End Function
Sub Main()
Dim n As Integer
Dim sum, nsum As Integer 'sum 记录总和,nsum记录1+2+..N的和
Console.WriteLine("please input n")
Dim tmpStr As String
tmpStr = Console.ReadLine()
'判断是否是int类型的,
'IsNumeric(tmpStr)判断是否是数字类型,InStr(tmpStr, ".") 判断是否有小数点
If IsNumeric(tmpStr) And InStr(tmpStr, ".") < 1 Then
n = CType(tmpStr, Integer)
Else
MsgBox("not a valid integer!")
Exit Sub