Skip to main content

Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
TagsGame Engines

(1) is a very good point that I completely overlooked! When programming in FRACTRAN, it's usually the case that you know in advance the small list of primes that will be relevant to the problem, so you can always find a "13" for any given program.

(2) One might imagine an extension of FRACTRAN allowing fractions with the following behavior: If the number is divisible by 66, then multiply by 1155/66 = 35/2, and if it's not, move on to the next fraction. Normally if you entered 1155/66 it would cancel down to 35/2 and so the fraction would activate on any number divisible by 2, not just those divisible by 66.

This extended version of FRACTRAN is expressively equivalent to ordinary FRACTRAN, where fractions always get canceled. What's happening is that nocancel mode is translating your code into an equivalent valid program, using the same technique as in my solution to level 17.

(2) I see, thanks for the explanation. I didn't expect nocancel to modify my input, I thought it was merely a running flag.