プログラミングのお題スレ Part22 (863レス)
前次1-
抽出解除 レス栞

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
148
(1): デフォルトの名無しさん [] 2023/11/02(木)14:01:24.52 ID:4TnUpiLT(1)
お題
https://i.imgur.com/XZDqbeJ.png

172: デフォルトの名無しさん [sage] 2023/11/30(木)09:19:30.52 ID:AZ5oWFgm(1)
前提としてエラー入力はなくて
出力は両隣がある時のみでいいのかな

use itertools::{Itertools, assert_equal};

fn convert(input: &[u8]) -> Vec<u8> {
 input
 .iter()
 .tuple_windows()
 .map(|(prev, _curr, next)| (prev & next & 1) + b'0')
 .collect()
}

fn main() {
 assert_equal(&convert(b"ABC"), b"1");
 assert_equal(&convert(b"abcIJKpqrXYZ"), b"1001010000");
}
231: デフォルトの名無しさん [sage] 2024/02/11(日)15:34:27.52 ID:3wEOIMb0(1)
>>206 octave
https://ideone.com/b2MsDk

>>206 octave
https://ideone.com/x6Lzmb
286: デフォルトの名無しさん [] 2024/02/24(土)20:03:55.52 ID:mNVJyIZh(1/2)
>>234
>>274を巨大整数対応にした。
https://ideone.com/Hg3kGJ
381
(2): デフォルトの名無しさん [] 2024/07/30(火)12:03:21.52 ID:zP/xDheD(1)
お題
C言語のトライグラフ(可能ならダイグラフも)と普通のテキストとの相互変換。

ファイルまたは標準入力から読んで変換した結果を標準出力に出力する。
面倒なら文字列変換する関数とそれをテストするメイン関数のみでも良い。
425: デフォルトの名無しさん [sage] 2024/09/04(水)06:34:37.52 ID:FQ5fjJ2m(1)
>>416
fn is_zorome(n: i32) -> bool {
let s = n.abs().to_string();
let b = s.as_bytes();
if b.len() > 1 {
b[1..].iter().all(|&d| d == b[0])
} else {
false
}
}

fn odai(a: i32, b: i32) -> Vec<i32> {
if (a..=b).any(|n| is_zorome(n)) {
vec![]
} else {
(a..=b).collect()
}
}

fn main() {
assert_eq!(odai(1, 10), [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]);
assert_eq!(odai(1, 11), []);
}
544
(2): 9 [sage] 02/08(土)00:22:55.52 ID:vma3KbbM(1/2)
>>510 Perl5、>>537 の修正版

https://ideone.com/klqLux

修正点
>>537では間違って一番長い範囲を検出していたが、一番短い範囲に修正した。(サンプルデータではそれらの解はたまたま一致)
・パターンが3文字であることに依存する定数「2(=3 -1 )」をハードコードしている箇所があったので、パターン文字数次第で処理するように修正
・検出した候補文字列リストのうち一番短い物の検索のためにわざわざ候補リスト全体をsortするのをやめて
 reduceによって長さが一番短い文字列を検索するように修正

List::Utils は言語処理系にデフォルトで付属のコアモジュール、
List::MoreUtils はCPANのオプションノジュールだがideoneのperlにはインスコされていたので使っちゃいましたテヘペロ

なお、候補文字列リストを作らず、ループの最内ifの中で一番短い文字列だけを記録していく様に記述すれば
大規模問題で若干効率が良くなるだろうけど、
まあいいや、もういいや。
617: 9 [sage] 02/15(土)10:39:20.52 ID:1WENuqRv(2/2)
>>611
お断り〜します〜♪
    ハハ
   (゚ω゚)
 ((⊂ノ  ノつ))
   (_⌒ヽ
εニ≡ )ノ`J
680
(5): デフォルトの名無しさん [] 03/16(日)23:01:39.52 ID:6JX6mCC/(1)
お題:36桁以下の負でない整数で16進表記が10進表記の部分文字列であるものをすべて求めて下さい。

(例)
・1の16進表記1は10進表記1の部分文字列です
・123の16進表記7Bは10進表記123の部分文字列ではありません
・357440の16進表記57440は10進表記357440の部分文字列です

※遅い言語では15桁以下で解いても構いません
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.038s