본문 바로가기
반응형

Program/Python(Project Euler)6

Python :: Project Euler 6번 문제 풀이 안녕하세요.오늘도 여전히 한자리수의 문제 풀이에 대한 포스팅을 진행하고 있네요.꾸준히 해야지하면서도 아직까지 6번이라니, 정말 게으르다라는 느낌만 드네요. 아무튼 조금 더 꾸준히 포스팅을 하기로 마음먹으며, Project Euler 6번 문제 풀이를 포스팅해보도록 하겠습니다. 위의 예제로 나온 것은 1~10까지의 제곱의 합과 합의 제곱 간의 차이를 구하는 문제입니다. 기존과 비슷하게 1~10은 예제에 대한 답으로 다 주어지고 난 이후에 이번엔 1~100까지의 제곱의 합과 합의 제곱 간의 차를 구하라고 하네요. 사실 이 문제에 대해서는 단순하게 생각하면 되는 부분이기에 초기 세팅이라던지, 알고리즘이라든지 이런 것을 언급할 필요도 없는 문제인 것 같습니다. a=list()b=list()for i in ran.. 2018. 5. 10.
Python :: Project Euler 5 문제 풀이 안녕하세요.오늘은 Project Euler 5번째 문제 풀이에 대한 포스팅을 진행하려고 합니다. 5번 문제는 아래와 같으며, 사실상 수학적으로 난이도가 있는 것과 같은 문제처럼 느껴집니다.하지만, 따지고 보면 최소공배수를 구하는 문제 중에 하나라고 생각하시면 될 것 같습니다. 일단 예제로는 1~10까지의 어떤 수로도 나누어 떨어지는 가장 작은 수가 2520이라고 했는데, 당연히 1~20사이에서는 더 큰수로 나올 것 같네요. 아무튼 그래서 n이라는 숫자를 1부터 시작해서 하나씩 증가시키면서 1~20사이의 수를 나눠서 0을 만족하는 수를 나오게 하는 알고리즘을 가지고 아래와 같은 코딩을 시작했습니다. 초기에 들어가야할 조건은 a와 b라는 리스트 함수와 n이라는 변수를 넣어서 시작했습니다.사실 여기서 b라는 .. 2018. 5. 9.
Python :: Project Euler 4번 문제 풀이 안녕하세요.오랜만에 Project Euler 문제 풀이를 하게 되었습니다.오늘은 아래와 같은 문제로 Python 코딩을 진행해보려고 합니다. 사실 쉽다면 쉽고, 어렵다면 어려운 문제 중에 하나이네요. 여기서 3자리 수의 곱을 통해서 만들 수 있는 가장 큰 수를 찾아야하는 문제인데요. 일단 최대,최소를 생각해보셔야 합니다. 먼저 3자리 수에서 가장 작은 숫자는 100입니다. 둘을 곱했을때 나올 수 있는 수는 10000이며, 반대로 가장 큰 숫자는 999의 제곱입니다. 999의 제곱은 998001로 5자리부터 6자리까지 결과로 발생하게 됩니다. 이런 결과를 가지고 올 수 있도록 저는 결과를 텍스트로 인식을 하여 각 자리의 수를 매칭시키는 것을 통해서 결과를 도출 하는 아래와 같은 코드로 수행을 했습니다. a.. 2018. 5. 8.
Python :: Project Euler 3번 문제 (코딩 문제 풀이) 안녕하세요.이미 다 풀어두고 오랜만에 Project Euler 리뷰를 하게 되었습니다.("블로그에 쓸게 없어서, 하나씩 올리는게 아닙니다."라고 하고 싶지만, 맞습니다.) 오늘의 문제는 소인수 분해에 대한 문제인데요. 먼저 아래의 문제를 읽고 코딩을 어떤 방향으로 진행할 것인지에 대해서 얘기하겠습니다. 어떤 수를 소수의 곱으로만 나타내는 것을 소인수분해라 하고, 이 소수들을 그 수의 소인수라고 합니다. 예를 들면 13195의 소인수는 5, 7, 13, 29 입니다.600851475143의 소인수 중에서 가장 큰 수를 구하세요. 위와 같은 부분에 대해서 문제 인식을 하기 전에 범위를 정해주는 것이 중요합니다. 그래서 무조건 숫자는 1부터 시작해야하며, 13195가 가장 마지막 숫자이기 때문에, 처음 숫자와.. 2018. 3. 12.
반응형