计算
1+2-3+4-5+6-7.........................n
Sub fu()
Sub fu(ByVal n As Long)
Dim temp As Long = 0
Dim i, flag As Long
flag = 1
If n <= 0 Then
Console.WriteLine("error: n must>0")
Exit Sub
End If
For i = 1 To n
temp = temp + flag * i
flag = (-1) * flag
Next
Console.WriteLine(temp)
End Sub
Dim temp As Long = 0
Dim i, flag As Long
flag = 1
If n <= 0 Then
Console.WriteLine("error: n must>0")
Exit Sub
End If
For i = 1 To n
temp = temp + flag * i
flag = (-1) * flag
Next
Console.WriteLine(temp)
End Sub
Sub fm()
Sub fm(ByVal n As Long)
If n <= 0 Then
Console.WriteLine("error:n must>0")
Exit Sub
End If
If n Mod 2 = 0 Then
Console.WriteLine((n / 2) * (-1))
Else
Console.WriteLine((n / 2) * (-1) + n)
End If
End Sub
If n <= 0 Then
Console.WriteLine("error:n must>0")
Exit Sub
End If
If n Mod 2 = 0 Then
Console.WriteLine((n / 2) * (-1))
Else
Console.WriteLine((n / 2) * (-1) + n)
End If
End Sub
当n很大很大的时候,效率相差巨大!!!
如下图
以后要注意算法优化....................