소개
정수의 계승을 n
계산할 수있다
이것은 비교적 쉽고 새롭지 않습니다. 그러나 계승가 확장 될 수 이중 계승 ,되도록
짝수 및 대
홀수의 경우 입니다. 그러나 우리는 이중 계승으로 제한되지 않습니다. 예를 들어
또는
또는
에 따라 시작 값.
요약하면 :
여기서
또는 일반 영어 : 기본 수에서 계승 수를 반복적으로 빼고 모든 양의 정수를 곱합니다.
도전
음수가 아닌 정수에 대해 반복되는 계승을 계산하는 함수를 작성하십시오.
입력
어느 한 쪽
- 음수가 아닌 10 진 정수 다음에 느낌표가 1 개 이상 포함 된 문자열 예
"6!"
또는"9!!"
나"40!!!!!!!!!!!!!!!!!!!!"
.
또는
- 두 개의 정수로 표시되는 동일한 값 : 음이 아닌 기본 값 하나와 계승 계수를 나타내는 양수 값 기본 I / O 규칙의 형식에 따라 수행 할 수 있습니다.
산출
상기 계산의 결과.
도전 비고
0!
1
정의에 의해 동일 합니다. 코드가이를 설명해야합니다.- 계승 카운트는 이 범위 밖의 으로 제한되며 , 무엇이든 자유롭게 출력 할 수 있습니다. 이외에도에서 이 규칙에 대한 유일한 예외이다.
0!
예
Input Output
3!!! 3
0! 1
6! 720
9!! 945
10!!!!!!!! 20
40!!!!!!!!!!!!!!!!!!!! 800
420!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 41697106428257280000000000000000
ungolfed Python 구현으로 사용해보십시오 : 온라인으로 사용해보십시오!
총론
3!!!!!!!
정의되지 않아야합니다 3
. 답을 산출해야합니다 . 1!!=1
(정의되지 않음) 과 동일 합니다. 또한 입력 사양에 따르면 항상 하나 이상이 !
있으므로 첫 번째 예 3
는 사양에 맞지 않습니다.
(3!)!
대신 계승에서 항을 제거 하는 것이 아닙니다 . 오해의 소지가있는 이름입니다. 체인에서 팩토리얼 함수를 반복적으로 적용한다고 가정하고 실제로 무엇인지 확인하기 위해주의 깊게 읽어야했습니다. 다행히도 그 질문은 그것을 명확하게 설명합니다. 더 나은 이름은 보폭 계급 또는 단계 계승 또는 무언가 일 수 있습니다.
0!
있지만 도전 과제는 계승 카운트가 기본 값보다 작거나 같다고 말합니다.