プログラミングのお題スレ Part22 (859レス)
プログラミングのお題スレ Part22 http://mevius.5ch.net/test/read.cgi/tech/1691038333/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
81: デフォルトの名無しさん [sage] 2023/08/27(日) 01:14:16.06 ID:xDzSjAxc >>76 こうすると計算量を減少できる fn len_of_eq(s: &str, index: usize, even: usize) -> usize { let mut len = 0; for (p, q) in std::iter::zip(s[(index + even)..].chars(), s[0..=index].chars().rev()) { if p != q { break; } len += 1; } return len; } fn print_kaibun(s: &str) { for index in 0..s.len() { for even in 0..=1 { for len in 1..=len_of_eq(s, index, even) { let first = index + 1 - len; let last = index + len - 1 + even; println!("{first}~{last}: {}", &s[first..=last]); } } } } fn main() { print_kaibun("ABCBAXYZZYX"); } http://mevius.5ch.net/test/read.cgi/tech/1691038333/81
136: デフォルトの名無しさん [sage] 2023/10/18(水) 20:56:02.06 ID:L3TY2GGf import struct def my_ulp(x): # 浮動小数点数xをバイト列に変換 b = struct.pack("d", x) # バイト列を整数に変換 i = int.from_bytes(b, "little") # 符号部(1ビット)を取り出す s = i >> 63 # 指数部(11ビット)を取り出す e = (i >> 52) & 0x7ff # 仮数部(52ビット)を取り出す m = i & 0xfffffffffffff # 指数部が0や最大値ならエラー if e == 0 or e == 0x7ff: raise ValueError("x is not a normalized number") # 仮数部の最下位ビット(1ビット)を求める lsb = m & 1 # 符号部と指数部を元に戻す i = (s << 63) | ((e - lsb) << 52) # 整数をバイト列に変換 b = i.to_bytes(8, "little") # バイト列を浮動小数点数に変換 return struct.unpack("d", b)[0] http://mevius.5ch.net/test/read.cgi/tech/1691038333/136
267: デフォルトの名無しさん [] 2024/02/21(水) 16:02:55.06 ID:Sko4Sglv >>266 N=17 のときは? http://mevius.5ch.net/test/read.cgi/tech/1691038333/267
440: デフォルトの名無しさん [] 2024/10/11(金) 20:53:22.06 ID:BlO5cFoG >>438 perl -lpE'$_=join$"x4,split$"' (文字列を入れる) http://mevius.5ch.net/test/read.cgi/tech/1691038333/440
664: デフォルトの名無しさん [] 2025/03/01(土) 20:19:24.06 ID:H8RpZRUP お題:1からnまでの自然数のビット単位での総排他的論理和1 ⊕ 2 ⊕ 3 ⊕ … ⊕ nを求める 関数を作り、n = 123456789, 12345678901234567890のときの値を表示せよ。 http://mevius.5ch.net/test/read.cgi/tech/1691038333/664
717: デフォルトの名無しさん [sage] 2025/03/29(土) 11:51:50.06 ID:UeqVkFR5 >>714 Rust use itertools::Itertools; fn f(input: &str) -> impl Iterator<Item = &str> { input.split(',') .map(|pair| (pair, pair.splitn(2, '-').collect_tuple().unwrap())) .filter(|(_, (a, b))| a < b) .flat_map(|(pair, (a, b))| { input.split(',') .map(|pair| pair.splitn(2, '-').collect_tuple().unwrap()) .filter_map(move |(x, y)| (a == y && b == x).then_some(pair)) }) } fn main() { let input = "D-L,U-X,U-Y,U-R,Z-B,B-E,B-M,B-N,V-H,V-X,W-F,W-R,R-B,R-W,O-W,O-S,F-A,Q-X,P-E,P-L,X-X,Y-M,Y-C,L-U,L-V,I-X,E-B,H-M,A-S"; itertools::assert_equal(["B-E", "R-W"], f(input).sorted()); } http://mevius.5ch.net/test/read.cgi/tech/1691038333/717
797: デフォルトの名無しさん [] 2025/08/12(火) 21:05:08.06 ID:uRUBTkGF >>771 PowerShell 6以降 function rank($a) { $n = $a.length $r = [int[]]::new($n) if ($n) {0..($n - 1) | sort-object -stable {$a[$_]} |% {$i = 0} {$r[$_] = $i++}} $r } function PrintArray($a) { if ($a.length -le 1) {return $a} "[$(($a |% {PrintArray $_}) -join ", ")]" } $q = (1, 100, 10, 10000, 1000), (3, 1, 4, 1, 5, 9, 2), (0, 1, 0, 1, 0, 1, 0, 1), @(), 1, ((1, 1), (1, 1), (1, 0, 1), (1, 0)) $q |% { "入力: $(PrintArray $_)" "出力: $(PrintArray (rank $_))" "" } http://mevius.5ch.net/test/read.cgi/tech/1691038333/797
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.039s