自分の理解のためにコメントを書きたいのですが、途中で書き続けることができません。なぜforの真ん中の3行がそのように書かれているのですか?
给我你的怀抱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 番目のビットを表します。