this post was submitted on 31 Oct 2024
329 points (97.7% liked)

Programmer Humor

32561 readers
374 users here now

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

Rules:

founded 5 years ago
MODERATORS
 

^.?$|^(..+?)\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 3 weeks ago (2 children)

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

[–] NateNate60@lemmy.world 6 points 3 weeks ago (1 children)

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 3 weeks ago

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

[–] CanadaPlus@lemmy.sdf.org 3 points 3 weeks ago* (last edited 3 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.