I thought it would be fun to create a thread where the community could solve a problem from Project Euler. This is Problem #1:
If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below 1000.
Look forward to seeing solutions in your language of choice!
Latest comments (40)
Julia:
sum([n for n=1:999 if n%5==0 || n%3==0])
q)sum (&) 0=min mod/:[; 3 5](!)1000
k) +/&0=min{x-y*x div y}/:[;3 5](!)1000
For a change my k solution is more wordy because the mod function is rather long. Said that, the q above has k in it as well. In pure q it would read
q)sum where 0=min mod/:[;3 5]til 1000
terse and somewhat obfuscated, though the main elements are recognizable, i.e. create the list up to 1000, compute the remainders when dividing by 3 and by 5 and sum across all where either remainder is 0.
q){sum x where 0=min x mod/:(3,5)}til 1000
k) {+/ &: 0=min x {x-y*x div y}/:(3,5)}(!)1000
or mix and match without lambdas is even shorter and more obfuscated
q)sum (&:) 0=min ((!)1000) mod/: (3,5)
/*Multiples of 3 and 5
Problem 1
If we list all the natural numbers below 10 that are multiples of 3 or 5, we get 3, 5, 6 and 9. The sum of these multiples is 23.
Find the sum of all the multiples of 3 or 5 below 1000. */
include
using namespace std;
int main()
{
int sum=0;
for(int i=1;i<1000;i++)
{
if(i%3==0 ||i%5==0)
{cout<<i<<" ";
sum+=i;}
}
cout<<"\n\n"<<"the sum of all the multiples of 3 or 5 below 1000 = "<<sum<<"\n";
return 0;
}
C++ >> Output >> 233168
Java
function multiple(){
var a=Math.trunc(999/3)
var b=Math.trunc(999/5)
var c=Math.trunc(999/15)
var multi3=((3*a)(a+1))/2
var multi5=((5*b)(b+1))/2
var multi15=((15*c)*(c+1))/2
var sum=(multi3+multi5)-multi15
return sum
}
console.log(multiple())
Hi, I am adding my first thought on this in Java.
private int sum(int inputValue) {
int sum = 0;
for (int i = 1; i < inputValue; i++) {
if (i % 5 == 0 || i % 3 == 0) {
sum += i;
}
}
return sum;
}
Hi,
I am trying to solve this one, and already solved.
I am going to ask, what is the sum of all the multiples of 3 or 5 below 100000??
I am trying to do this but is giving me a timeout, when using loops.
Ruby✨💎✨
I started to solve problems but, well, you know little time so I couldn't continue :) I created a repository at github.
github.com/erhankilic/project-eule...
Python
or Python One-Liner
Python implementation that runs in Θ(1) time
Some comments may only be visible to logged-in visitors. Sign in to view all comments.