Sum multiples of 3 and 5: Difference between revisions

Content added Content deleted
Line 3,155: Line 3,155:
</pre>
</pre>


=={{header|VBSA}}==
{{trans|VBScript}}
<lang vb>Private Function SumMult3and5VBScript(n As Double) As Double
Dim i As Double
For i = 1 To n - 1
If i Mod 3 = 0 Or i Mod 5 = 0 Then
SumMult3and5VBScript = SumMult3and5VBScript + i
End If
Next
End Function</lang>
Other way :
<lang vb>Private Function SumMult3and5(n As Double) As Double
Dim i As Double
For i = 3 To n - 1 Step 3
SumMult3and5 = SumMult3and5 + i
Next
For i = 5 To n - 1 Step 5
If i Mod 15 <> 0 Then SumMult3and5 = SumMult3and5 + i
Next
End Function</lang>
Better way :
<lang vb>Private Function SumMult3and5BETTER(n As Double) As Double
Dim i As Double
For i = 3 To n - 1 Step 3
SumMult3and5BETTER = SumMult3and5BETTER + i
Next
For i = 5 To n - 1 Step 5
SumMult3and5BETTER = SumMult3and5BETTER + i
Next
For i = 15 To n - 1 Step 15
SumMult3and5BETTER = SumMult3and5BETTER - i
Next
End Function</lang>

Call :
<lang vb>Option Explicit

Sub Main()
Dim T#
T = Timer
Debug.Print SumMult3and5VBScript(100000000) & " " & Format(Timer - T, "0.000 sec.")
T = Timer
Debug.Print SumMult3and5(100000000) & " " & Format(Timer - T, "0.000 sec.")
T = Timer
Debug.Print SumMult3and5BETTER(100000000) & " " & Format(Timer - T, "0.000 sec.")
Debug.Print "-------------------------"
Debug.Print SumMult3and5BETTER(1000)
End Sub</lang>
{{Out}}
<pre>2,33333331666667E+15 9,059 sec.
2,33333331666667E+15 2,107 sec.
2,33333331666667E+15 1,799 sec.
-------------------------
233168
</pre>
=={{header|VBScript}}==
=={{header|VBScript}}==
{{trans|Run BASIC}}
{{trans|Run BASIC}}