338
submitted 1 month ago* (last edited 1 month ago) by NateNate60@lemmy.world to c/programmerhumor@lemmy.ml

^.?$|^(..+?)\1+$

Matches strings of any character repeated a non-prime number of times

https://www.youtube.com/watch?v=5vbk0TwkokM

you are viewing a single comment's thread
view the rest of the comments
[-] Rin@lemm.ee 2 points 1 month ago

You can have states point to each other in a loop, no?

[-] NateNate60@lemmy.world 6 points 1 month ago

If the set of all strings of composite length is a regular language, you can use that to prove the set of all strings of prime length are also a regular language.

But it's also easy to prove that the set of language of strings of prime length is not regular, and thus the language of strings of composite length also can't be regular.

A more formal proof.

[-] Rin@lemm.ee 1 points 4 weeks ago

Thank you for this. I'll review this when I can.

[-] CanadaPlus@lemmy.sdf.org 3 points 4 weeks ago* (last edited 4 weeks ago)

Yeah, but in an FSM all you have are states. To do it the obvious way, you need a loop with separate branches for every number greater than 2, or at the very least every prime number, and that's not going to be finite.

this post was submitted on 31 Oct 2024
338 points (98.0% liked)

Programmer Humor

32591 readers
956 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS