오일러 프로젝트 27 번

오일러 프로젝트 27 번 오일러는 다음과 같은 멋진 2차식을 제시했습니다. n^2 + n + 41 이 식의 n에다 0부터 39 사이의 숫자를 넣으면, 그 결과는 모두 소수가 됩니다. 하지만 n = 40일 때의 값 40^2 + 40 + 41 은 40×(40 + 1) + 41 이므로 41로 나누어지고, n = 41일 때 역시 412 + 41 + 41 이므로 소수가 아닙니다. 컴퓨터의 발전에 힘입어 n^2 − 79n + 1601 이라는 엄청난 2차식이 발견되었는데, 이것은 n이 0에서 79 사이일 때 모두

오일러 프로젝트 23 번

오일러 프로젝트 23 번 자신을 제외한 약수(진약수)를 모두 더하면 자기 자신이 되는 수를 완전수라고 합니다. 예를 들어 28은 1 + 2 + 4 + 7 + 14 = 28 이므로 완전수입니다. 또, 진약수의 합이 자신보다 작으면 부족수, 자신보다 클 때는 초과수라고 합니다. 12는 1 + 2 + 3 + 4 + 6 = 16 > 12 로서 초과수 중에서는 가장 작습니다. 따라서 초과수 두 개의 합으로 나타낼 수 있는 수 중 가장 작은 수는 24 (= 12 + 12) 입니다.

오일러 프로젝트 22 번

오일러 프로젝트 22 번 여기 5천개 이상의 영문 이름들이 들어있는 46KB짜리 텍스트 파일 names.txt 이 있습니다 (우클릭해서 다운로드 받으세요). 이제 각 이름에 대해서 아래와 같은 방법으로 점수를 매기고자 합니다. 먼저 모든 이름을 알파벳 순으로 정렬합니다. 각 이름에 대해서, 그 이름을 이루는 알파벳에 해당하는 숫자(A=1, B=2, …, Z=26)를 모두 더합니다. 여기에 이 이름의 순번을 곱합니다. 예를 들어 “COLIN”의 경우, 알파벳에 해당하는 숫자는 3, 15, 12, 9, 14이므로 합이 53, 그리고 정렬했을 때 938번째에 오므로 최종 점수는 938 × 53 = 49714가

분할수 – 오일러프로젝트 078

동전 100개를 나누는 방법 원문: 오일러 프로젝트 78번 이 문제는 오일러 프로젝트 76번 문제와 같은 문제로 볼 수 있는데…. 처음 작성한 시점부터 너무 오래된 글이라, 진도를 기다리지 못하고 미리 발행한다. 동전 5개를 나누는 방법은 총 7가지가 존재한다. ooooo oooo o ooo oo ooo o o oo oo o oo o o o o o o o o 이렇게 동전 n개를 나눌 때의 나누는 방법의 가짓수를 \(p(n)\)이라 할 때, \(p(n)\)이 백만으로 나누어 떨어지는 최소의 n은 얼마인가? 동전을 나누는 문제는 동전더미의 수를

오일러프로젝트020

오일러 프로젝트 020 n! 이라는 표기법은 n × (n − 1) × … × 3 × 2 × 1을 뜻합니다. 예를 들자면 10! = 10 × 9 × … × 3 × 2 × 1 = 3628800 이 되는데, 여기서 10!의 각 자리수를 더해 보면 3 + 6 + 2 + 8 + 8 + 0 + 0 = 27 입니다. 100! 의 자리수를 모두 더하면 얼마입니까?””” 큰수를 지원하는 언어에서는 그다지 문제가 될 것이 없다. from functools import reduce def

오일러프로젝트019

오일러 프로젝트 019 다음은 달력에 관한 몇 가지 일반적인 정보입니다 (필요한 경우 좀 더 연구를 해 보셔도 좋습니다). * 1900년 1월 1일은 월요일이다. * 4월, 6월, 9월, 11월은 30일까지 있고, 1월, 3월, 5월, 7월, 8월, 10월, 12월은 * 31일까지 있다.* * 2월은 28일이지만, 윤년에는 29일까지 있다.* * 윤년은 연도를 4로 나누어 떨어지는 해를 말한다. 하지만 400으로 나누어 떨어지지 않는 매 100년째는 윤년이 아니며, 400으로 나누어 떨어지면 윤년이다 20세기 (1901년 1월 1일 ~ 2000년 12월 31일) 에서, 매월 1일이 일요일인 경우는