/*
- 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.
*/
public class Problem1 {
int solve() {
int sum = 0;
for (int i = 0; i < 1000; i++) {
if (i % 3 == 0 || i % 5 == 0) {
sum += i;
}
}
return sum;
}
public static void main(String[] args) {
Problem1 Problem = new Problem1();
// The solution of problem 1: 233168
System.out.println(Problem.solve());
}
}
int n = 1000; int cnt3 = (n - 1) / 3; int cnt5 = (n - 1) / 5; int cnt15 = (n - 1) / 15; System.out.println(3 * cnt3 * (cnt3 + 1) / 2 + 5 * cnt5 * (cnt5 + 1) / 2 - 15 * cnt15 * (cnt15 + 1) / 2);