Sum multiples of 3 and 5: Difference between revisions

Content added Content deleted
(Fixed Emacs Lisp)
Line 777: Line 777:
def g(n1, n2, n3)
def g(n1, n2, n3)
g1 = n1*n2; n3 -= 1
g1 = n1*n2; n3 -= 1
(1..g1).select{|x| x%n1==0 || x%n2==0}.map{|x| g2=(n3-x)/g1; (x+g1*g2+x)*(g2+1)}.sum / 2
(1..g1).select{|x| x%n1==0 || x%n2==0}.map{|x| g2=(n3-x)//g1; (x+g1*g2+x)*(g2+1)}.sum // 2
end
end/


puts g(3,5,999)
puts g(3,5,999)
Line 788: Line 788:
{{out}}
{{out}}
<pre>
<pre>
232168
232169
234168
233168
2333333333333333333216666666666666666668
2333333333333333333216666666666666666669
2333333333333333333416666666666666666668
2333333333333333333316666666666666666668
</pre>
</pre>


Line 798: Line 798:


def sumMul(n, f)
def sumMul(n, f)
n1 = (n.to_big_i - 1) / f # number of multiples of f < n
n1 = (n.to_big_i - 1) // f # number of multiples of f < n
f * n1 * (n1 + 1) / 2 # f * (sum of number of multiples)
f * n1 * (n1 + 1) // 2 # f * (sum of number of multiples)
end
end