모두가 참여할 수있는 또 다른 쉬운 도전을위한 시간입니다!
괄호 안의 표현은 다항식 계수로 다음과 같이 정의됩니다.
조건이 허용 케이 내가 모두 정수 파티션 위에 범위 n은 제공 N 파스칼 번째 레벨의 m -simplex한다. 당신의 임무는이 계수를 계산하는 것입니다.
태스크
m 숫자 n , k 1 , k 2 , ..., k m-1 을 취하여 해당 다항식 계수를 출력하거나 반환 하는 프로그램 또는 함수를 작성하십시오 . 필요한 경우 프로그램이 선택적 으로 추가 인수로 m 을 사용할 수 있습니다. 참고 케이 m은 입력에서 아니다.
다항식 계수의 실제 계산이 인코딩 프로세스가 아닌 코드에 의해 수행되는 한, 이러한 숫자는 원하는 형식으로 입력 될 수 있습니다 (예 : 목록으로 그룹화되거나 단항으로 인코딩 됨)
출력 형식도 비슷합니다.
모든 코드는 n 및 m의 경우 1 분 이내에 최대 1000까지 실행해야합니다 .
정수 오버플로에 대해 걱정하지 마십시오.
다항 계수를 계산하도록 설계된 내장 기능은 허용되지 않습니다.
표준 허점이 적용됩니다.
채점
이것은 코드 골프입니다 : 바이트 단위의 최단 솔루션이 승리합니다.
테스트 사례
Input: 3, [2, 0]
Output: 3
Input: 3, [1, 1]
Output: 6
Input: 11, [1, 4, 4]
Output: 34650
Input: 4, [1,2]
Output: 12
Input: 15, [5,4,3,2]
Output: 37837800
Input: 95, [65,4,4]
Output: 1934550571913396675776550070308250
Input: 32, [2,2,2,2,2,2,2,2,2,2,2,2,2,2,2]
Output: 4015057936610313875842560000000
Input: 15, [3,3,3,3]
Output: 168168000
Input: 1000, [10,10,10,10,10,10,10,10,10,10,100,100,100,100,100,100,100,100]
Output: 1892260836114766064839886173072628322819837473493540916521650371620708316292211493005889278395285403318471457333959691477413845818795311980925098433545057962732816261282589926581281484274178579110373517415585990780259179555579119249444675675971136703240347768185200859583936041679096016595989605569764359198616300820217344233610087468418992008471158382363562679752612394898708988062100932765563185864346460326847538659268068471585720069159997090290904151003744735224635733011050421493330583941651019570222984959183118891461330718594645532241449810403071583062752945668937388999711726969103987467123014208575736645381474142475995771446030088717454857668814925642941036383273459178373839445456712918381796599882439216894107889251444932486362309407245949950539480089149687317762667940531452670088934094510294534762190299611806466111882595667632800995865129329156425174586491525505695534290243513946995156554997365435062121633281021210807821617604582625046557789259061566742237246102255343862644466345335421894369143319723958653232683916869615649006682399919540931573841920000000000000
Input: 33, [17]
Output: 1166803110
Input: 55, [28]
Output: 3824345300380220
[1000 {999 ones}]
지수는 64 비트 부동 소수점이 나타낼 수있는 것 이상의 방법이므로 입력 을 전혀 표현할 수 없습니다 . (128 비트 플로트이면 충분하지만 JavaScript의 기본 숫자 유형을 사용한다고 가정합니까?)
1934550571913396675776550070308250
출력 할 수1.9345505719133966e+33
있습니까?