Jump to content

Sum multiples of 3 and 5: Difference between revisions

Line 1,678:
 
=={{header|J}}==
 
<lang J>
mp =: $:~ :(+/ .*) NB. matrix product
Line 1,721 ⟶ 1,720:
(0,.10 10000 10000000000000000000x)+`-/"1@:(sum_arithmetic_series"1@:(,"1 0"1 _))3 5 15x
23 23331668 23333333333333333331666666666666666668
</lang>
=== Simple Solution ===
The problem can also be solved with a simple use of inclusion/exclusion; this solution is more in keeping with how one could approach the problem from a more traditional language.
<lang J>
NB. Naive method
NB. joins two lists of the multiples of 3 and 5, then uses the ~. operator to remove duplicates.
 
echo 'The sum of the multiples of 3 or 5 < 1000 is ', ": +/ ~. (3*i.334), (5*i.200)
 
 
NB. inclusion/exclusion
 
triangular =: monad : '(y*(y + 1)) % 2'
sumdiv =: dyad : '(triangular <. x % y) * y'
 
echo 'For 10^20 - 1, the sum is ', ": +/ 99999999999999999999x sumdiv 3 5 _15
exit ''
 
</lang>
 
357

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.