출처: 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;}}}
반응형
'Java' 카테고리의 다른 글
[Java] deep copy (깊은 복사) vs. shallow copy (얕은 복사) (0) | 2022.12.10 |
---|---|
[자바 커맨드] javap는 무슨 기능을 하는 명령어일까? (0) | 2016.11.07 |
자바 파일을 터미널에서 컴파일 하는 법 (2) | 2016.11.07 |