検索

ホームページ  >  に質問  >  本文

C++ - この高精度階乗演算の原理は何ですか?

リーリー

自分の理解のためにコメントを書きたいのですが、途中で書き続けることができません。なぜforの真ん中の3行がそのように書かれているのですか?

黄舟黄舟2778日前741

全員に返信(3)返信します

  • 習慣沉默

    習慣沉默2017-05-16 13:30:11

    普通の掛け算の縦計算のようで、特に言うことはありません

    返事
    0
  • ringa_lee

    ringa_lee2017-05-16 13:30:11

    リーリー

    返事
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 13:30:11

    乗算はintやlonglongを超えるため、高い精度が求められます。
    高精度のアイデアは、配列を使用して数値の各桁を保存し、人間による乗算の垂直乗算方法をシミュレートすることです。
    a が小さい値から大きい値まで格納されていると仮定して (たとえば、数値 12345、配列は a[1]=5,a[2]= である)、長さ n 倍の数値 x の配列 a を計算する方法を検討できます。 4、a[3]=3、a[4]=2、a[5]=1)。
    まず、皆さんは a[1]x%10 ですが、10 の位は何でしょうか? (a[2]x+前の桁の桁上げ)%10
    なので、ここで c は桁上げを表します。前の桁の f[j] は、j にループする前は (i-1)! の j 番目のビットを表し、j にループした後は i! の j 番目のビットを表します。

    返事
    0
  • キャンセル返事