파이썬_실전 프로젝트

프로젝트 오일러 9번문제 - 피타고라스 수

q-009

A Pythagorean triplet is a set of three natural numbers, a < b < c, for which,

a2 + b2 = c2

For example, 32 + 42 = 9 + 16 = 25 = 52.

There exists exactly one Pythagorean triplet for which a + b + c = 1000.
Find the product abc.

 

피타고라스 수이면서, 합이 1000 이 되는 세수의 곱(abc)를 구하는 문제입니다.

 

plan :

1. c항을 제거하면, a제곱+b제곱 = (1000-a-b)의 제곱입니다.

2. 루프문을 만들고, 위 조건을 만족하면 중지시키면 됩니다.

 

일단 루프문을 만들고, 위식의 좌항을 계산해줍니다.

i=1
while i<1000:
    j=1
	while j<=i:
		pythagorean=i**2+j**2
        
    	j+=1
	i+=1        

그리고 조건문을 써서, 우항을 계산하면서 비교해줍니다.

참이면, 해당 숫자를 출력하고, 중지합니다.

i=1
while i<1000:
    j=1
	while j<=i:
		pythagorean=i**2+j**2
		if pythagorean == (1000-i-j)**2:
			print(i,j,1000-i-j)
			print(i*j*(1000-i-j))
			break
		j+=1
	i+=1

 

댓글

댓글 본문
작성자
비밀번호
버전 관리
노마드
현재 버전
선택 버전
graphittie 자세히 보기