양수를 취하고 2 차 수렴을 갖는 π를 계산하기 위해 반복 알고리즘의 단계를 n
수행 하는 함수 또는 완전한 프로그램을 작성 n
하십시오 (즉, 매 반복마다 정확한 자릿수의 약 두 배) 그런 다음 2 n 개의 올바른 자릿수를 포함하여 반환하거나 인쇄합니다 시작 3). 그러한 알고리즘 중 하나는 Gauss–Legendre 알고리즘 이지만 원하는 경우 다른 알고리즘을 자유롭게 사용할 수 있습니다.
예 :
입력 1
→ 출력 3.1
입력 2
→ 출력 3.141
입력 5
→ 출력3.1415926535897932384626433832795
요구 사항 :
- 알고리즘의 각 반복은 더하기, 빼기, 곱하기, 나누기, 거듭 제곱 및 근수 (정수 지수 /도)와 같은 일정한 수의 기본 연산을 수행해야합니다. "큰"정수 / 소수에 대한 각 연산은 1로 계산됩니다. 내부에 하나 이상의 루프가 관련된 경우 분명히, 삼각 함수와 복소수를 포함하는 힘은 기본 연산이 아닙니다.
- 이 알고리즘에는 일정한 수의 연산이 있어야하는 초기화 단계가 있어야합니다.
- 알고리즘이 2 n 개의 정확한 자릿수 를 얻기 위해 1 ~ 2 회 이상의 반복이 필요한 경우,
n+2
대신 최대 반복을 수행 할 수 있습니다n
. - 분명히 충분이 아니었다면, 올바른이 개 후 N 숫자, 프로그램이 있어야 하지 (예 : 더 정확한 숫자, 잘못된 숫자 또는 셰익스피어의 전집과 같은) 다른 작업을 인쇄 할 수 있습니다.
- 프로그램은
n
1에서 20까지의 값을 지원해야합니다 . n
현대 컴퓨터에서 프로그램은 = 20에 1 시간 이상 걸리지 않아야합니다 .- 프로그램은 알고리즘의 초기화 및 첫 번째 반복 후에 20 자리 이상의 정확한 숫자를 얻지 않아야합니다.
- 프로그램은 무료 소프트웨어를 사용하여 Linux에서 실행 가능해야합니다.
- 소스 코드는 ASCII 문자 만 사용해야합니다.
채점 :
간단한 코드 골프, 가장 짧은 코드가 승리합니다.
우승자:
승자는 Digital Trauma입니다. 마침내 n = 20에서 농담을했습니다. 그의 매우 빠른 파이썬 솔루션과 다른 알고리즘으로 인해 Primo에게 특별상이 수여됩니다. :)
~q^(n^2)
거기의 첫 번째 부분과 ~q^2
두 번째 부분에 있습니다.