당신의 임무는 산술 시퀀스 인 경우 n 번째 항에 대한 공식을 입력하고 출력하여 수식을 출력하는 것입니다. 그렇지 않으면 "NAAP"를 인쇄해야합니다.
입력
입력 (STDIN에서)은 4-10 개의 숫자로 구성되며, 각 숫자는 -1000에서 1000 사이의 범위에 있으며 구분 기호 (공백 또는 쉼표 또는 세미콜론으로 구분됨) 선호도]). 다음은 입력 예입니다.
12,14,16,18 //valid
-3 4 5 1 -2 -4 //valid
45;35;-35 //invalid (only three numbers are present instead of the minimum of 4 numbers)
2,32;21,321 //invalid (it uses two different delimiters: `,` and `;`)
산출
프로그램은 먼저 입력이 산술 진행 인지 여부를 확인해야합니다 .
간단히 말해서 산술 진행 (AP) : 모든 AP에는 공통의 차이가 있습니다. 이것은 $ n $와 $ {n-1} $의 용어의 차이입니다 (기본적으로 $ a (n + 1) a
-a (n) $ ). 이 차이는 AP의 $ n $에 대해 동일하게 유지됩니다. 공통적 인 차이가 없으면 산술 시퀀스 가 아닙니다 . n 번째 항의 값을 계산하려면이 수식 $ a (n) = a (1) + (n-1) d $를 사용하십시오. 여기서 $ a (1) $는 첫 번째 항이고 $ d $는 공통입니다 차.
산술 진행 이 아닌 경우 프로그램은 "NAAP"오류 메시지 ( "산술 진행이 아님"의 줄임말)를 인쇄해야합니다.
이 경우 인 산술 진행하고 프로그램 표준 출력 순서의 간략화 n 번째 항을 인쇄한다.
예:
> 1,3,5,7,9
2n-1
설명 : 이것은 공통된 차이 ($ 3-1 = 2 $)가 있기 때문에 AP입니다. 그런 다음 공식 $ a (n) = a (1) + (n-1) d $를 사용합니다
따라서 출력은 2n-1
(공백이 없다는 것을 알 수 있습니다)
표준 허점은 기본적으로 허용되지 않습니다.
원하는 경우 숫자 배열을 매개 변수로 사용하여 함수를 만들 수 있습니다. 그렇지 않은 경우 입력을 문자열 또는 배열로 가져 와서 그에 따라 출력 하는 전체 프로그램을 작성해야합니다 .
테스트 사례 :
1.
1,3,5,7,9
2n-1
2.
1 3 12312 7 9
NAAP
삼.
-6;8;22;36;50
14n-20
4.
5,1,-3,-7,-11,-15
-4n+9
5.
-5,-7,-9,-11,-13,-15
-2n-3
6.
3,3,3,3,3,3,3,3,3
0n+3
7.
-4,-5,-6,-7
-1n-3
이것은 코드 골프 이므로 바이트 단위의 가장 짧은 코드가 이깁니다! (나쁜 수학 jax 죄송합니다)
어떤 제안이라도 환영합니다!
0,0,0,0
및 3,1,-1,-3,-5
등차 수열? 그렇다면 내가 시도한 방법을 위반했기 때문에 테스트 사례가 좋을 것이라고 생각합니다.