回答編集履歴

1

補足

2021/10/10 18:57

投稿

otn
otn

スコア85901

test CHANGED
@@ -4,4 +4,4 @@
4
4
 
5
5
  積については、`unsigned long long int`でもオーバーフローするので駄目です。
6
6
 
7
- `product`と`count`は、`double`にする必要があります。ただし、これでも有効桁数が足りないので、正確には計算できません。ちょっと計算してみると10進48桁になり、正確な計算のためには仮数部が160bit必要なので4倍精度でも足りません。なので、多倍長10進計算ライブラリをつか、`double`か`long double`の精度我慢るか
7
+ `product`と`count`は、`double`にする必要があります。ただし、これでも有効桁数が足りないので、正確には計算できません。ちょっと計算してみると10進48桁になり、正確な計算のためには仮数部が160bit必要なので4倍精度でも足りません。なので、正確な計算には、多倍長10進計算ライブラリが必要です。タイトルにある「誤差減らしたい」といだけであれば、`double`か、あれば`long double`を使うといいです。