출처: https://projecteuler.net/problem=1


문제 내용


10 이하의 수 중에서 3 혹은 5의 배수인 수를 추려내 본다면 3, 5, 6, 9가 있다. 이들을 모두 합하면 123이 된다.

그렇다면 1000 이하의 수에서 3 혹은 5의 배수인 숫자들의 합은 얼마인가?


원문: 

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 No001 {
public static void main(String[] args) {
int n1 = 3;
int n2 = 5;
int limit = 1000;
SumMultiple sMultiple = new SumMultiple();
int n3 = sMultiple.sumMultiples(n1, n2, limit);
System.out.println(n3);
}
static class SumMultiple {
int sumMultiples(int n1, int n2, int limit) {
int sum = 0;
int n3 = lcd(n1, n2);
for(int i=n1; i<limit; i++) {
if((i%n3) == 0) {
sum += i;
} else if((i%n2) == 0) {
sum += i;
} else if((i%n1) == 0) {
sum += i;
}
}
return sum;
}
int lcd(int n1, int n2) {
int lcd = 0;
if((n1 > n2) || (n1 <= 0) || (n2 <= 0)) return 0;
for(int i=n1;; i++) {
if((i%n1==0) && (i%n2==0)) {
lcd = i;
break;
}
}
return lcd;
}
}
}


반응형

+ Recent posts