우리는 임의로 큰 정수에 대한 나누기를 구현할 것입니다.
이것은 code-golf 입니다.
이 작업은 임의의 정밀 정수와 나눗셈을 구현하는 프로그램이나 함수를 작성하는 것입니다.
이 작업을 매우 쉽게 해줄 수있는 많은 것들이 허용되지 않습니다 . 사양을 반드시 읽어 보시기 바랍니다 .
입력
입력으로 두 가지가 제공됩니다.
- 밑이 10 자리 인 문자열을 호출합니다
n. - 기본 10 자리의 다른 문자열
m
n>m>00으로 나누도록 요청받지 않을 것임을 의미 한다고 가정하자 .
산출
두 개의 숫자를 출력하며 Q, R여기서 m * Q + R = n 및 0 <= R <m
명세서
제출은 임의로 큰 정수 (사용 가능한 메모리로 제한됨)에 대해 작동해야합니다.
당신은 하지 않을 수 있습니다 외부 라이브러리를 사용합니다. i / o 용 외부 라이브러리가 필요한 경우 내장 라이브러리로 취급 할 수 있습니다. (iostream 등과 같은 것을 봅니다).
언어에 내장 된 언어가이를 사소한 경우 사용할 수 없습니다 . 여기에는 임의의 정밀 정수를 처리 할 수있는 내장 유형이 포함되지만 이에 국한되지는 않습니다.
어떤 이유로 언어가 기본적으로 임의의 정밀 정수를 사용하는 경우이 기능을 사용하여 일반적으로 64 비트로 저장할 수없는 정수를 나타낼 수 없습니다.
입력과 출력은 10 진수 여야 합니다. 숫자를 메모리에 저장하는 방법이나 그에 대한 산술을 수행하는 방법은 중요하지 않지만 i / o는 10이됩니다.
결과를 출력하는 데 15 초가 있습니다. 이것은 반복 뺄셈을 금지하기위한 것입니다.
여기서 목표는 실제로 임의의 정밀 정수를 구현하는 것입니다. 어떤 이유로 챌린지 사양을 준수하고 구현하지 않고 성공적으로 수행 할 수 있다면, 나는 당신에게 좋을 것 같습니다.
테스트 사례
- 이 경우 입력은 39입니다! 그리고 30!
입력
n = 20397882081197443358640281739902897356800000000
m = 265252859812191058636308480000000
산출
Q = 76899763100160
R = 0
n는 모든 계승의 합에 최대 50을 더한 값에 1을 더한 값입니다. 1m은 최대 20까지입니다.
입력
n = 31035053229546199656252032972759319953190362094566672920420940313
m = 1234567891011121314151617181920
산출
q = 25138393324103249083146424239449429
r = 62459510197626865203087816633
n205입니다! + 200 !.mPeterTaylor가 샌드 박스에 게시 한 내용을 찢어서 흘리게 한 눈물입니다.
입력
n = 271841734957981007420619769446411009306983931324177095509044302452019682761900886307931759877838550251114468516268739270368160832305944024022562873534438165159941045492295721222833276717171713647977188671055774220331117951120982666270758190446133158400369433755555593913760141099290463039666313245735358982466993720002701605636609796997120000000000000000000000000000000000000000000000000
m = 247
산출
q = 1100573825740813795225181252819477770473619155158611722708681386445423816849801159141424129060075102231232666057768175183676764503262931271346408394876267875141461722640873365274628650676808557279259873162169126398101692109801549256156915750794061370041981513180387019893765753438422927286098434193260562682052606153857091520795991080960000000000000000000000000000000000000000000000000
r = 0;
아마 어느 시점에서 더 많은 테스트 사례를 추가 할 것입니다.