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

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
98: デフォルトの名無しさん [] 2023/09/27(水) 11:36:52.67 ID:uGji0T93(1) AAS
Python

s = input()
s = s.replace("、", ",")
s = s.replace("。", "\n")
print(s)
125: デフォルトの名無しさん [sage] 2023/10/12(木) 11:02:46.67 ID:u59ybXeV(1) AAS
スイカゲームを自動操縦するプログラムを造れ
469: デフォルトの名無しさん [sage] 2025/01/03(金) 20:07:57.67 ID:yesC/P5F(1) AAS
>>464
464(9): デフォルトの名無しさん [] 2025/01/03(金) 13:22:57.82 ID:dEYOS8Dq(1/2) AAS
お題
AのあとにAと同じ数だけBが続く言語エビがあるとします
文字列が入力されたときそれがエビ言語であるか判定するプログラムを作成してください

→ true
A → false
B → false
AB → true
ABB → false
AAB → false
AABB → true
ABAABBAAABBB→ true
fn is_ab_lang(input: &str) -> bool {
match input
.chars()
.fold(Some(0), |state, char| match (state, char) {
(Some(count), 'A') => Some(count + 1),
(Some(count), 'B') if count > 0 => Some(count - 1),
_ => None,
}) {
Some(0) => true,
_ => false,
}
}

fn main() {
for s in ["", "AB", "AABB", "ABAABBAAABBB"] {
assert!(is_ab_lang(s)); // true
}
for s in ["A", "B", "BA", "ABB", "AAB", "ABBA"] {
assert!(!is_ab_lang(s)); // false
}
}
597: 9 [sage] 2025/02/13(木) 17:35:13.67 ID:UAfabByi(1/3) AAS
>>594
594(7): デフォルトの名無しさん [sage] 2025/02/13(木) 12:04:43.08 ID:KGk2Z9bM(1) AAS
お題:ランダムな数列から任意の並んでいる二つの数同士を足して、その二つの数の間に挿入せよ。
その新しい数が一桁ならそのまま挿入し二桁なら桁同士を足してその二桁の間に挿入せよ。

< 123456789 3 4
> 1237456789

(3+4=7)

< 123456789 6 7
> 123456143789

(6+7=13 1+3=4)
 Perl5、見易くするためインデントは全角スペースに置換してあります

for (<DATA>) {
 ($s, $a, $b) = split;
 $c = $a + $b;
 $c = $1 . ($1 + $2) . $2 if $c =~ /(\d)(\d)/;
 $s =~ s/$a$b/$a$c$b/g;
 print "$s\n";
}
__DATA__
123456789 3 4
123456789 6 7
123456789 8 9
3141592653589793238462643383279502884197169399375105820974944 9 7

実行結果
~ $ perl 22_594.pl
1237456789
123456143789
123456781879
3141592653589176793238462643383279502884191767169399375105820917674944
600: デフォルトの名無しさん [] 2025/02/13(木) 20:34:25.67 ID:3SfOseF2(2/2) AAS
>>599
599(1): 9 [sage] 2025/02/13(木) 20:24:48.49 ID:UAfabByi(2/3) AAS
数学屋さんかいなw
i,jの「3 4」とか「6 7」は桁の位置をしていしているのではなく数値列の中にある数字を指定するんジャマイカ
とオレは解釈したが
そうか。だとすれば、

function f($x, $i, $j)
{
  $s = [string]$x
  $y = $i + $j
  if ($y -ge 10) {$y *= 11}
  $s -replace "$i$j", "$i$y$j"
}

(123456789, 3, 4), (123456789, 6, 7), (123456789, 8, 9), ("3141592653589793238462643383279502884197169399375105820974944", 9, 7) |% {
  "< $($_[0]) $($_[1]) $($_[2])"
  "> $(f $_[0] $_[1] $_[2])", ""
}

[実行結果]
< 123456789 3 4
> 1237456789

< 123456789 6 7
> 123456143789

< 123456789 8 9
> 123456781879

< 3141592653589793238462643383279502884197169399375105820974944 9 7
> 3141592653589176793238462643383279502884191767169399375105820917674944
609: デフォルトの名無しさん [sage] 2025/02/15(土) 00:16:29.67 ID:aVKCg5xf(1) AAS
>>608
608(10): デフォルトの名無しさん [sage] 2025/02/14(金) 23:42:29.57 ID:PVqLPxMJ(1) AAS
お題:ランダムな英文字列が与えられる。隣り合う英文字が同じ大文字だった場合、その間にその大文字の小文字を挿入せよ

In < abcDDefGG
Out > abcDdDefGgG
ruby
while 1
s=DATA.gets.chomp
exit if s==""
t=s.gsub(%r|([A-Z])\1|){$1+$1.downcase+$1}
puts "IN < #{s}\nOUT > #{t}"
end
__END__
abcDDefGG
828: デフォルトの名無しさん [] 2025/08/29(金) 22:34:59.67 ID:uVFRnDIW(1/2) AAS
>>802
802(3): デフォルトの名無しさん [] 2025/08/16(土) 20:29:06.33 ID:kN4EEg8M(2/3) AAS
>>799 の問題B
R
外部リンク:ideone.com
C++
外部リンク:ideone.com
をCMD (Windowsバッチファイル) に移植

@echo off & setlocal EnableDelayedExpansion
echo 【問題A】
for %%i in (1, 2, 3, 123456, 234567, 362880) do call :ithDuplicatedPermutation 9 1 %%i
echo.
echo 【問題B】
for %%i in (1, 2, 3, 123456, 234567, 369600) do call :ithDuplicatedPermutation 4 3 %%i
exit /b

:ithDuplicatedPermutation
set /a n = %1, m = %2, i = %3, L = 0, P = 1
for /l %%j in (1, 1, %n%) do (
  set /a c%%j = %m%
  for /l %%k in (1, 1, %m%) do set /a L += 1, P = P * L / %%k
)
set a=%i% →
for /l %%j in (1, 1, %L%) do (
  set /a done = 0
  for /l %%k in (1, 1, %n%) do (
    if !done! equ 0 (
      set /a "q = P * c%%k / (L - %%j + 1)"
      if !i! leq !q! (
        set a=!a!%%k
        set /a c%%k -= 1, P = q, done = 1
      ) else (
        set /a i -= q
      )
    )
  )
)
echo %a%
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.040s