[R 문제풀이] 프로젝트 오일러 1번 : 1000 미만의 3과 5의 배수 합하기

HANYI KIM·2023년 8월 20일
0

프로젝트 오일러

목록 보기
1/1

[문제]

10보다 작은 자연수 중에서 3 또는 5의 배수는 3, 5, 6, 9 이고, 이것을 모두 더하면 23입니다.

1000보다 작은 자연수 중에서 3 또는 5의 배수를 모두 더하면 얼마일까요?

[풀이]

total = 0

for(i in 1:999){
  if((i%%3==0)|(i%%5==0)){
    total = total + i
  }
  i = i + 1
}

total
  1. 결과를 나타낼 total 값을 0으로 설정하였다.

  2. for 반복문을 사용해서 i를 1부터 999까지 반복한다.

  3. 그 안에서 if 조건문으로 i가 3 혹은 5의 배수인지 확인한 후 조건에 부합하면 total에 더해주었다.

  4. 반복이 끝나면 total 값을 반환한다.

처음 했던 실수가, 저렇게 3과 5의 배수를 다 더하고 그 다음 15(3과 5의 공통 배수)를 빼려고 했던 건데, 생각해보니 애초에 3 '혹은' 5의 배수를 더한 것이었으니 중복되지 않아서 굳이 15의 배수를 뺄 필요가 없었다.

R을 사용한 첫 알고리즘 문제풀이 끝!

[문제 출처] https://euler.synap.co.kr/

0개의 댓글