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

リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
464
(9): 01/03(金)13:22 ID:dEYOS8Dq(1/2) AAS
お題
AのあとにAと同じ数だけBが続く言語エビがあるとします
文字列が入力されたときそれがエビ言語であるか判定するプログラムを作成してください

→ true
A → false
B → false
AB → true
ABB → false
AAB → false
AABB → true
省1
465: 01/03(金)13:25 ID:dEYOS8Dq(2/2) AAS
>>464
文字化け訂正
誤:AのあとbノAと同じ数だけBが続く言語エビがあるとします
正:AのあとにAと同じ数だけBが続く言語エビがあるとします
466: 01/03(金)15:30 ID:aGLRGnDr(1/3) AAS
>>464 lisp
外部リンク:ideone.com
467: 01/03(金)15:34 ID:aGLRGnDr(2/3) AAS
>>464 python
外部リンク:ideone.com
468
(2): 01/03(金)17:52 ID:aGLRGnDr(3/3) AAS
>>464 lisp (chatgptに教えてもらった)
外部リンク:ideone.com
外部リンク:chatgpt.com
469: 01/03(金)20:07 ID:yesC/P5F(1) AAS
>>464
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,
省11
470: 01/03(金)23:45 ID:AD9nWeeV(1) AAS
>>464 c
外部リンク:ideone.com
#include <stdio.h>
#include <string.h>
int isablang(const char *s) {
size_t a = strspn(s, "A"), b = strspn(s + a, "B");
return !*s || 0 < a && 0 < b && a == b && isablang(s + a + b);
}
void g(const char *s) {
printf("%s\t%s\n", isablang(s) ? "true" : "false", s);
省6
473: 01/04(土)16:26 ID:kbkaPDs8(1) AAS
>>464 c
外部リンク:ideone.com
・strspn使わない
・再帰しない
#include <stdio.h>
int isablang(const char *s) {
const char *t, *u;
for (; *s; s = u) {
if (*s != 'A') return 0; else for (t = s; *t == 'A'; t++);
if (*t != 'B') return 0; else for (u = t; *u == 'B'; u++);
省4
478: 警備員[Lv.18] 01/12(日)04:14 ID:zWON4EbF(1/2) AAS
>>464
Kotlin
外部リンク:paiza.io
492
(1): 9 01/24(金)17:38 ID:cg1ZmS3G(1) AAS
>>464 Perl5

for (<DATA>) {
 chomp;
 print "$_ → ", (/^(A((AB)?|(?1))B)+$/g ? 'true' : 'false'), "\n";
}
__DATA__

A
B
AB
ABB
省18
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.038s