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

Programmer Humor

32710 readers
227 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
[–] [email protected] 2 points 1 month ago (2 children)

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

[–] NateNate60 6 points 1 month 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.

[–] [email protected] 1 points 1 month ago

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

[–] [email protected] 3 points 1 month ago* (last edited 1 month 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.