プログラミングのお題スレ Part9at TECHプログラミングのお題スレ Part9 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト750:デフォルトの名無しさん 17/11/27 23:36:53.65 bwTh4Bk9.net >>680 >>696の方法で作ってみました n=10^10の時に48.3秒くらいです 751:デフォルトの名無しさん 17/11/28 13:09:45.40 IU/PYwM1.net >>723 はHaswell (4770) 3.4GHz固定での結果で Skylake (6700K) 定格だと38.4秒でした ちゃんとCPUも進化してるんですね 752:デフォルトの名無しさん 17/11/28 13:17:18.48 IU/PYwM1.net >>681 >>690 C++だとどうやって計算してるかが非常に気になります 32bitを越える値同士の乗算(結果が64bitを越える)部分 アセンブラだと 64bit x 64bit ===> 128bit 128bit / 64bit ===> 64bit 等があるのでそれを使っちゃってますが 753:デフォルトの名無しさん 17/11/28 13:20:30.03 IU/PYwM1.net 冪剰余を求めるのに (a * b) % c みたいなのがたくさん出てきませんか? aもbもcも32bitの範囲を微妙に越えてて 754:デフォルトの名無しさん 17/11/28 14:44:32.26 jzUFRHpN.net 誤差部分の間違いが判った。これでよさげだ。 ただし誤差評価を荒くやってはダメそうだが。一番最後の行のところ。 誤差項ありのマクローリン展開は、0<=c<=xが存在して f(x) = Σ x^k * f(k)(0)/k! (kは0からn-1まで) + x^n * f(n)(c)/n! f(x) = -log(1-x)のn次導関数は、(n-1)!/(1-x)^n。 このときマクローリン展開は誤差項は x^n / (n*(1-c)^n) x=1/2ならば、c=1/2のとき最大で、1/n 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch