Problem Solving/Project Euler

[프로젝트 오일러] Problem 6 Solution

happykoa 2020. 2. 29. 17:35

프로젝트 오일러라는 사이트는 적당한 수학? 아이디어? 생각? 들을 배울 수 있는 사이트입니다.

http://euler.synap.co.kr/

 

Project Euler

About Project Euler @ kr 레온하르트 오일러 (1707-1783) 환영합니다! 프로젝트 오일러 (ProjectEuler.net) 는 수학적인 문제들을 컴퓨터 프로그래밍으로 하나씩 해결해가는 퀴즈 풀이 사이트입니다. 여기에는 흥미로운 내용이 많이 있지만, 문제나 댓글 등이 모두 영어로 되어 있어서 다소 부담스러울 수 있습니다. 우리 사이트 (Project Euler @ kr) 에서는 보다 많은 이들이 쉽게 접근해서 즐길 수 있도록 원본 문

euler.synap.co.kr

사이트에 대한 자세한 내용은 위 링크로 들어가셔서 한번 보시면 될 것 같습니다.

 

문제 내용

6번 문제 1부터 100까지 자연수의 "합의 제곱"과 "제곱의 합"의 차이를 구하는 문제입니다.

 

풀이

간단한 수학 문제입니다.

 

1. 1부터 n까지 자연수의 합은 $$\frac{n*(n+1)}{2}$$ 입니다.

2. 1부터 n까지 자연수 제곱의 합은 $$\frac{n*(n+1)*(2n+1)}{6}$$입니다.

 

이를 적용한 python 코드는 아래와 같습니다.

 

n = 100
print((n*(n+1)//2)**2 - n*(n+1)*(2*n+1)//6)

 

답은 스스로 한번 코드를 작성하고 실행해보시길 바랍니다 :)

Rmx