본문 바로가기

Computer Science/Euler Project

[코딩문제] 오일러 프로젝트 1번(Problem 1: Multiples of 3 or 5)

728x90
💡 (프로젝트 오일러 1번문제) 10보다 작은 자연수 중에서 3또는 5의 배수는 3, 5, 6, 9 이고, 이것을 모두 더하면 23입니다. 1000보다 작은 자연수 중에서 3 또는 5의 배수를 모두 더하면 얼마일까요?
문제출처 : https://euler.synap.co.kr/problem=1

 

파이썬(Python)의 기본 수식인 ‘나머지(%)’ 및 '반복(for문)/조건문(if문)' 활용하기

 

파이썬에서 기본 수식과 반복구문을 활용하여 푸는 문제입니다.

 

Python관련 입문 베스트셀러인 ‘Do it! 점프 투 파이썬’에서도 소개된, 코딩관련 기초 문제입니다.

 

‘3 또는 5의 배수는~’

 

‘3 또는 5로 나누었을 때 나머지가 0’과 같은 의미로 해석할 수 있습니다.

 

따라서, Python에서 나머지를 계산하는 기본 수식인 ‘%’을 활용하면 문제는 쉽게 풀 수 있겠죠.!

 

 

또한, ‘1000보다 작은 자연수’는 ‘1부터 1000까지 반복하여 계산’을 의미하므로,

 

반복문(for문)으로 코드를 전체적으로 덮어주면 되겠죠.!

 

최종적으로, ‘3 또는 5의 배수’만 뽑아내기 위한 조건문(if문)을 for문 안에 작성하여,

 

3의 배수와 5의 배수만을 걸러주고, 결과(result변수)를 누적하여 합산(+=)해주면 코드가 완성됩니다.

 

정답은 아래 '더보기'를 클릭!

 

더보기

Answer: 233168

 


코드(파이썬)
#
# Problem 1. Multiples of 3 or 5
# Link : https://projecteuler.net/problem=1
#
# Define 'Cal' function to calculate result value

def Cal():
     result = 0
     for i in range(1, 1000):

          if i % 3 == 0 or i % 5 == 0:
               result += i
     return result

if __name__ == "__main__":
     print(Cal())

 

728x90

'Computer Science > Euler Project' 카테고리의 다른 글

Problem 4: Largest palindrome product  (0) 2022.10.03
Problem 3: Largest prime factor  (0) 2022.10.03
Problem 2: Even Fibonacci numbers  (0) 2022.10.02