プログラミングのお題スレ Part22 (859レス)
上下前次1-新
抽出解除 レス栞
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
23(1): デフォルトの名無しさん [sage] 2023/08/11(金) 00:37:49.70 ID:NzWkf1P2(1/2) AAS
今回のようなsortを一切必要としない問題で何度もsortを用いるプログラマーは劣等生
334: デフォルトの名無しさん [] 2024/04/18(木) 22:41:59.70 ID:y7NBfn6/(1) AAS
>>331331(2): デフォルトの名無しさん [sage] 2024/04/18(木) 07:16:50.63 ID:8T8m8Yde(1) AAS
>(a, b, c) = (5278.64055, 94721.35941, 99999.99996)
>c - (a - b)が正確には0なのに3.63797880709171e-12と計算されてしまい
この例に限らず、たいていの場合a,b,cはdoubleでexactに格納されて無くて
この例では「c - (a - b)が正確には0」なのをチョイスしただけでは?
その通り。そして、(a, b, c) = (10000.1, 10000.2, 20000.3)とすれば、正しい面積は0なのに
Heron's Δ' = 2.69745899635295とAccurate Δ = 1.34872949817647は両方とも大間違いになる。
この場合のようにHeron's Δ'での問題がAccurate Δで改善されないだけでなく、>>331の引用の
場合のようにHeron's Δ'では結果的に問題ないのにAccurate Δでは新たな問題が生じてしまうのは、
参考文献の11ページで述べられた
An algorithm stood convicted of numerical instability if it could be replaced by
a new algorithm at least about as fast and accurate as the old for all data,
and good for all data for which the old algorithm was bad.
すべてのデータに対して旧アルゴリズムと少なくとも同じくらい高速かつ正確であり、
かつ旧アルゴリズムが悪くなるすべてのデータに対して良くなる新アルゴリズムによって
置き換えることができるとしたら、旧アルゴリズムは数値的に不安定と判定される。
という判定条件を満たさないから、Accurate Δは改良版としての適性を欠く。
>>333333(1): デフォルトの名無しさん [sage] 2024/04/18(木) 07:34:09.77 ID:PYBA8OB3(2/2) AAS
> 200ビットで計算したほぼ正確な値3.27490470056059e-07
この例だけ見るとAccurate Δの方が優れているように見えるので
>>331の様なチェリーピックはどちらの計算式でも出来るので平均的に近似が近い方が精度的に優れているかと
その例では有効桁数がHeron's Δ'は0桁、Accurate Δは1桁しかなく、どちらの品質も絶対的に
劣悪で、それらの間の相対的な優劣に大した意味はない。
そもそも針のように異様に細長い三角形が重箱の隅をつつくような話で、普通はそんな場合は
想定しなくても良く、ヘロンの公式で充分。そこを敢えてつつくなら、ヘロンの公式だけでなく
改良式もぼろが出てしまうだけ。
382(1): 警備員[Lv.8] [] 2024/08/03(土) 07:16:23.70 ID:HS6IEZQf(1/2) AAS
お題
Unicode 文字列を UTF-9 へ変換する。また UTF-9 を Unicode 文字列に変換する。
ただし1バイトが9bitではないコンピュータを使用する場合は9bit以上で扱いやすいbit数の変数(例えば 16bitの変数)を代用して下9bitのみを使用する等しても良い。
UTF-9 の仕様は RFC 4042 を見るか、または下記URLのページを参照。
外部リンク:www.wdic.org
431: デフォルトの名無しさん [sage] 2024/10/09(水) 00:56:06.70 ID:LtADXZKH(1) AAS
asciiの前提では
全角判定関数は切り分けるべきだし
548(2): デフォルトの名無しさん [] 2025/02/08(土) 19:59:09.70 ID:EDI8nVtP(1/2) AAS
>>510510(21): デフォルトの名無しさん [] 2025/01/30(木) 21:27:24.39 ID:te1+SH0T(1) AAS
お題
ソース文字列と検索文字列が入力されます
検索文字列の文字をすべて含むソース文字列の部分文字列のうち
一番短い部分文字列を出力してください
DHBICEJAFG EIC → ICE
FDGJHCBIEA EIC → CBIE
FBHDCIJGEA EIC → CIJGE
JDIBGHCEAF EIC → IBGHCE
JBCIAGDHEF EIC → CIAGDHE
EJFBCAGIHD EIC → EJFBCAGI
IADCGJFBEH EIC → IADCGJFBE
IDFHBJGAEC EIC → IDFHBJGAEC
C++
外部リンク:ideone.com
>>534からの変更点
・minmax_elementを呼び出さずに済むようにして高速化
569: デフォルトの名無しさん [sage] 2025/02/11(火) 18:19:05.70 ID:7RexIvi8(3/3) AAS
>>568全然だめでした
取りあえずテスト追加済
620: デフォルトの名無しさん [] 2025/02/15(土) 21:05:44.70 ID:rssRTGdz(2/9) AAS
>>612612(1): デフォルトの名無しさん [] 2025/02/15(土) 00:39:27.81 ID:rssRTGdz(1/9) AAS
>>608
PowerShell
function f($s)
{
-join $(
foreach ($i in 0..($s.length - 2)) {
$s[$i]
if ($s[$i] -ne $s[$i + 1]) {continue}
if ($s[$i] -lt [char]"A" -or $s[$i] -gt [char]"Z") {continue}
([string]$s[$i]).ToLower()
}
$s[$i + 1]
)
}
"abcDDefGG", "abcDDDfGG" |% {"$_ → $(f $_)"}
[実行結果]
abcDDefGG → abcDdDefGgG
abcDDDfGG → abcDdDdDfGgG
は文字列長が1文字の場合にバクがあった。PowerShellの0..-1は空(から)ではなく0, -1になるのが
原因 (Rの0:-1も同様)。修正するには、fの最初に if ($s.length -lt 2) {return $s} を挿入する。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.046s