任意の大きな整数の除算を実装します。
これはcode-golfです。
タスクは、任意の精度の整数とその除算を実装するプログラムまたは関数を作成することです。
これを非常に簡単にする多くのことが許可されていないことに注意してください。仕様を必ずお読みください。
入力
入力として2つのものが与えられます。
- 基数10桁の文字列、それを呼び出します
n
。 - 基数10の別の文字列、それを呼び出す
m
ことを前提としn>m>0
ていることを意味しますが、ゼロ除算に頼まれることはありませんが。
出力
もし出力二つの数字、意志Q
及びM * Q + R = N及び0 <= R <MR
仕様書
送信は、任意の大きな整数(使用可能なメモリによって制限される)に対して機能します。
外部ライブラリを使用することはできません。I / O用の外部ライブラリが必要な場合は、組み込みライブラリとして扱うことができます。(iostreamなどのようなものを見て)。
あなたの言語がこれを簡単にするビルトインを持っているなら、あなたはそれを使わないかもしれません。これには、任意の精度の整数を処理できる組み込み型が含まれます(ただし、これに限定されない場合があります)。
何らかの理由で言語がデフォルトで任意の精度の整数を使用する場合、この機能を使用して、通常64ビットで格納できない整数を表すことはできません。
入力と出力は基数10でなければなりません。メモリへの数値の格納方法や数値の演算方法は関係ありませんが、i / oは10を基数になります。
結果を出力するには15秒あります。これは、反復減算を禁止するためです。
ここでの目標は、実際に任意の精度の整数を実装することです。何らかの理由でチャレンジ仕様を遵守し、それらを実装せずにこれを成功させることができれば、私はあなたにとって良いと思う、有効だと思う。
テストケース
- この場合、入力は39です!そして30!
入力
n = 20397882081197443358640281739902897356800000000
m = 265252859812191058636308480000000
出力
Q = 76899763100160
R = 0
n
50までのすべての階乗の合計に1を足したものm
が、20までの連結数です。
入力
n = 31035053229546199656252032972759319953190362094566672920420940313
m = 1234567891011121314151617181920
出力
q = 25138393324103249083146424239449429
r = 62459510197626865203087816633
n
205です!+ 200!。m
PeterTaylorが私がサンドボックスに投稿したものをバラバラにしてどれだけ涙を流したかです。
入力
n = 271841734957981007420619769446411009306983931324177095509044302452019682761900886307931759877838550251114468516268739270368160832305944024022562873534438165159941045492295721222833276717171713647977188671055774220331117951120982666270758190446133158400369433755555593913760141099290463039666313245735358982466993720002701605636609796997120000000000000000000000000000000000000000000000000
m = 247
出力
q = 1100573825740813795225181252819477770473619155158611722708681386445423816849801159141424129060075102231232666057768175183676764503262931271346408394876267875141461722640873365274628650676808557279259873162169126398101692109801549256156915750794061370041981513180387019893765753438422927286098434193260562682052606153857091520795991080960000000000000000000000000000000000000000000000000
r = 0;
おそらく、いつかはさらにテストケースを追加するでしょう。