Skip to main content

Posts

Showing posts from May, 2022

Friday Quiz problem 20 May - ?prime in Forth

T oday's question is:  In the Quarante Republic, every month contains 40 days, numbered 1 to 40.  Any day whose number is divisible by 6 is a holiday, and any day whose number is a prime is also a holiday.  How many times in a month does a single working day occur between two holidays? This lends itself very well to a Forth program. The first interesting challenge is to write a ?prime word in Forth. I don't remember doing this before. Google tells me that someone has published a Forth program for exactly this word but it looks unnecessarily complex for our purposes today.  I didn't know this, but you can find out whether a number is prime by trying to divide it by each prime up to the square root of your number. In our case that's only 2, 3 and 5. And only then if those primes are smaller than our number. The solution I have right now is less efficient, but does the job. I'll be looking to improve this. Please  share your own code if you have something more elegant