[過去ログ] プログラミングのお題スレ Part16 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
554: 2020/01/05(日)15:25 ID:+tGOF19X(1) AAS
>>544 Python
def reverse(s):
return s[::-1]
555
(1): 2020/01/05(日)16:01 ID:8nvrboOv(1) AAS
>>540
こういうのを見ると我々は離散数学についてはほぼ無力と思う。
556: 2020/01/05(日)17:02 ID:x729cdax(1) AAS
>>555
勉強しとけ
557: 2020/01/05(日)21:49 ID:2Fq0AHrI(1/4) AAS
>>544 R
外部リンク:ideone.com

>>546のPowerShellと違って、U+10000以上の文字が含まれていても正しく逆順にできる。
558: 2020/01/05(日)21:52 ID:2Fq0AHrI(2/4) AAS
>>542
仮数部も指数部も間違っている。整数で1の位まで正確に求められるよ。
559: 2020/01/05(日)22:31 ID:h+ccWvVu(2/3) AAS
>>540 サンクス

>>532 の解
{13, 11, 8}
{15, 9, -4}
{8, 1, -2} * 2
{9, -2, -6} * 2
{16, -6, -15} * 2
{74, -23, -73}
{43, -27, -39} * 2
{171, -75, -166}
省18
560: 2020/01/05(日)22:41 ID:h+ccWvVu(3/3) AAS
>>533 の解
{8, 1, -2}
{9, -2, -6}
{16, -6, -15}
{43, -27, -39}
{169, 64, -172}
{414, 385, -504}
{530, 337, -572}
{2673, 1114, -2736}
{10102, 674, -10103}
省3
561: 2020/01/05(日)22:48 ID:bLPoA6E7(1/2) AAS
>>541
C++
外部リンク:ideone.com.VJk9QA

倍精度だと微妙に精度が足りないので
擬似4倍精度で計算してみた

4倍精度や多倍長が使える言語やライブラリを使えば一瞬で書けるんだけど
562
(2): 2020/01/05(日)22:49 ID:bLPoA6E7(2/2) AAS

外部リンク:ideone.com
でした
563: 2020/01/05(日)23:29 ID:2Fq0AHrI(3/4) AAS
>>562
正解。

Rには多倍長浮動小数点パッケージRmpfrがあるので、120ビット精度での計算をさっと書ける。
多倍長整数パッケージgmpにはフィボナッチ数列の第n項を求める関数があるので、第80項を
自分で求める必要すらない。
外部リンク:ideone.com

C/C++にもlong double型があるので楽勝!と思っていると罠に嵌まる。Visual C++では
long doubleは移植性(単にコンパイルが通るという意味で)のために定義されているだけで、
double精度しかないので使えない。GNU C++ではlong doubleが本当のlong doubleなので使える。
外部リンク:ideone.com
省2
564: 2020/01/05(日)23:41 ID:2Fq0AHrI(4/4) AAS
GNU C++にも罠があって、外部リンク:ideone.com はideoneでは結果が正しく
表示されているが、Windows版でコンパイルすると「-0桁」になってしまう。
printfの%Lf書式指定子が何故か正常に機能しないようなので、long longに変換して
%lld書式指定子を使う必要がある。
565: 2020/01/05(日)23:58 ID:Z3Lsb/Mg(1) AAS
>>562は擬似4倍精度の四則演算やルートがコンパクトにまとまっており参考になるかと思います

logは手抜きですが
566
(1): 2020/01/06(月)00:24 ID:MKFPBGLf(1) AAS
x87の80bit形式久々に聞いた
intelの失敗仕様

本当のlong doubleって言ったら128bitの事だと思う
567: 2020/01/07(火)12:16 ID:lAASQTDH(1) AAS
本当の?
568: 2020/01/07(火)13:02 ID:PuPIfAOU(1/2) AAS
大きさと精度が一致しないということでは。
例えば、16ビット整数の加算において255+1で桁あふれが発生するのは、勘弁してほしい。
16ビット整数であれば精度も16ビットあってほしい。
569
(1): 2020/01/07(火)13:13 ID:4oL1Xwrc(1) AAS
intelの拡張小数は箱も中身も80bitだぞ
隠れた1bitも隠さないから中身は79bitとも言えるかもしれないけど
570: 2020/01/07(火)13:43 ID:PuPIfAOU(2/2) AAS
GCCのlong doubleは128ビットあるから。
571
(1): 2020/01/07(火)22:24 ID:Y9qs9jpB(1/3) AAS
ひさびさにx87命令を使ってみた
masm形式なのでideoneでは動作しませんが
外部リンク:ideone.com
572: 2020/01/07(火)22:38 ID:Y9qs9jpB(2/3) AAS
↑の出力結果

4893806799921043 (4893806799921042 + 0.855469)

丸める前の正確な値は
4893806799921042.8564973677594677....
なので小数第二位まで合っています
80bitでもギリギリって感じ

2進数だと
上位62bitまで正確、下位2bitが計算誤差
ということになります
573: 2020/01/07(火)23:09 ID:Y9qs9jpB(3/3) AAS
外部リンク[htm]:pc.watch.impress.co.jp
1-
あと 429 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.223s*