Sum multiples of 3 and 5: Difference between revisions
Content added Content deleted
m (→{{header|Go}}) |
|||
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}} |