[HN Gopher] Primel - guess a 5 digit prime number - each guess m...
___________________________________________________________________
Primel - guess a 5 digit prime number - each guess must be a prime
Author : sebg
Score : 125 points
Date : 2022-01-21 13:39 UTC (9 hours ago)
(HTM) web link (converged.yt)
(TXT) w3m dump (converged.yt)
| graycat wrote:
| Hint: The number should not end in any of 0, 2, 4, 6, or 8!
| paradite wrote:
| Looks very nice. However it took me a while to figure out why I
| kept getting error. It wasn't obvious to me that you are required
| to enter prime numbers only. Maybe consider dropping this
| constraint?
|
| Also, might want to disable text selection via css because I kept
| selecting the numbers on the button on my phone.
| basemntunivrse wrote:
| This is really cool, nice idea!
|
| Also, the following script might help to make the game more
| accessible (or to help you cheat :P) - // note:
| game doesn't seem to automatically clear at the end, so in the
| dev console use: // window.localStorage.clear(); //
| then refresh the page const prime = n => { for
| (let i = 2, s = Math.sqrt(n); i <= s; i++) { if (n % i
| === 0) { return false; } }
| return n > 1; } const generateNums = digits => (
| m => [...Array(9 * m).keys()].map(i => i + m)
| )(Math.pow(10, digits - 1)); const generate5DigitPrimes =
| () => generateNums(5).filter(prime); const
| all5DigitPrimes = generate5DigitPrimes(); // updated
| to take an optional array (defaults to all5DigitPrimes) //
| this means you can chain the check function to do things that
| normal regex can't do // e.g. check(/some_regex/,
| check(/some_other_regex/)) const check = (r, a =
| all5DigitPrimes) => a.filter(p => r.test('' + p));
|
| Usage:
|
| paste the above code into the dev console
|
| type 'all5DigitPrimes' and press Enter to see a list of all
| 5-digit primes
|
| type 'check(/some_regular_expression/)' to see a filtered list of
| primes that match your regular expression
| scythe wrote:
| I also cheated with a script, leading to this:
|
| https://pastebin.com/sQtekXCW
| nickponline wrote:
| My first inclination was to write a solver :)
|
| https://gist.github.com/nickponline/9a3fb1ee5333c52ed195625e...
| culi wrote:
| A list of possible primes showing up as you type would be
| helpful...
| MauranKilom wrote:
| 12347 - 65393 ++-- [solution
| next - omitted for spoiler reasons]
|
| I was more surprised about how little trial and error I needed to
| find primes than about how few guesses it actually took...
| bidirectional wrote:
| log(100000) is 5, so approximately 1 in 5 numbers below 100k is
| prime. Obviously those in the range 10000-99999 are less dense,
| but primes are still surprisingly common.
| madcaptenor wrote:
| You want a natural log there; ln(100000) ~ 11.5.
|
| That being said, the pool you're really working from is the
| numbers with last digit 1, 3, 7, or 9. One out of every 4.6
| such numbers under 10^5 is prime. So just guessing until you
| find a prime is practical.
| [deleted]
| lupire wrote:
| And you can knock out multiples of 3 by adding digits.
| madcaptenor wrote:
| Sure, but that's a little more work than just looking at
| the last digit, so it's debatable whether it's worth the
| trouble.
| bidirectional wrote:
| Ah you're correct. Annoying how Google interprets log(x) as
| base-10 (but more shame on me for not realising that e^5 is
| obviously not 100000). In my experience everyone uses log
| and ln interchangeable outside of lessons at school.
| Eduard wrote:
| log(x) historically conventionally defaults to base-10.
| https://en.m.wikipedia.org/wiki/Common_logarithm
| 100721 wrote:
| Hi, can you provide some search terms that will help me
| understand the relationship between ln and prime density?
| sebzim4500 wrote:
| https://en.wikipedia.org/wiki/Prime_number_theorem
| [deleted]
| knuthsat wrote:
| Or https://en.wikipedia.org/wiki/Prime-counting_function
| .
| iso1631 wrote:
| Looks like there's 8,363 5 digit primes, from 10007 to 99991,
| so about 1 in 11
| jameshart wrote:
| Why isn't 00002 your lower bound?
| chockablock wrote:
| The game does not accept leading zeros (00017: "Not a 5
| digit prime")
| syrgian wrote:
| Same, I was so surprised to get it solved at the second row,
| after ~8 attempts to find a prime without the numbers that had
| not matched. 12347 -
| [solved]
| 07d046 wrote:
| It seems a lot of us came up with 12347 for the first line.
| MauranKilom wrote:
| While natural in terms of just inputting numbers, it's also
| not bad to use as first guess because primes are denser (in
| an "average absolute distance" sense) the lower the
| magnitude you're around. Without having checked, I would
| expect there to be more primes of the form 123** than
| 987**, so you're more likely to gain correct digits with
| this guess.
|
| Edit: I checked, it's 9 vs 8 primes. But nearby prefixes
| also have more and there's a lot of variance. Still, there
| are overall more primes among the same range of smaller
| numbers (1000-5499 has ~4400 primes, 5500-99999 has ~4000).
|
| Note that, despite this, you probably shouldn't include 0
| in the starting guess (e.g. 10247) because 0 will be in the
| solution less frequently (can't be the leading digit),
| meaning you gain less info on average.
| scythe wrote:
| 56809 is a pretty good second guess for this situation :p
| dalmo3 wrote:
| Ha, those were exactly my first 2 guesses.
| egberts1 wrote:
| MasterMind!
|
| Just say so!
| emeraldd wrote:
| Ok, so once you've won how do you start a new game?
| phreenet wrote:
| First attempt I tried: 45677 56779 (Didn't
| read the instructions, the 5 should have stayed from 1st)
| 15809 35869 65839 (Solved)
|
| EDIT: I'm slow today, just realized they are both the same
| primes.
| wy35 wrote:
| The repo linked in the game seems to lead to a general Wordle
| clone. I'm guessing you forked it and replaced the keyboard with
| numbers and the word checker with a prime number checker?
| pxx wrote:
| That's a lot more work than just populating with a list of
| eligible primes
| [deleted]
| [deleted]
| [deleted]
| metalliqaz wrote:
| So are people just really good with numbers? I don't know any 5
| digit primes nor do I know a way to calculate them on the fly.
| jerf wrote:
| If you are on Unix: primes 10000 99999 | less
|
| Then recall that "less" includes a regex-based search on the /
| key.
|
| This doesn't give you direction as to the best to try, of
| course, but it's hard to beat it in terms of bang for the buck
| if you're just going to try a few.
| Maursault wrote:
| You can guess a prime relatively easily given a few attempts,
| as besides 2 and 5, all other primes will have a 1, 3, 7, or 9
| as its least significant digit. So, for starters, you'd never
| guess a number with any other least significant digit.
| tobyjsullivan wrote:
| I used this site to explore options.
| http://compoasso.free.fr/primelistweb/page/prime/liste_onlin...
| It's a bit tedious but still fun-ish and seemed better than
| guessing.
|
| Unlike Wordle, I assume it's unreasonable to expect a player to
| know primes so I don't think I'd call this cheating.
| NikolaeVarius wrote:
| Its a weird thing where in smaller scales, primes numbers that
| LOOK prime are decent candidates of actually being prime.
| madcaptenor wrote:
| All one- and two-digit numbers that look prime are prime,
| except 91.
|
| This assumes that you can easily identify - multiples of 2
| and 5 (by their last digit) - multiples of 3 (the sum of
| their digits is divisible by 3) - multiples of 11 (for two-
| digit ones, they have both digits the same: 11, 22, 33, ...,
| 99) - squares
|
| So the first number that looks prime but isn't is the product
| of the two smallest primes that aren't "easy", which is 7*13
| = 91.
| Mogzol wrote:
| Yeah I would really rather this just let me guess non-primes
| even though that would make it more challenging. Trying to find
| a prime by guessing randomly over and over is pretty
| frustrating.
| eganist wrote:
| I intuited a probably-inaccurate trick with exponentially
| raising a small prime (e.g 7*7*7etc), doubling the multiple
| (*2), and subtracting 1 (to get an odd number).
|
| That got me two substantially-different primes and narrowed my
| numbers a lot, which then became guesswork.
|
| My guesses in the end: -?--- ?---!
| ?-??! ?!??! !!!!!
| metalliqaz wrote:
| lol this would not help me at all
|
| by the way am I supposed to take some meaning from the
| italicized '7' or was that just a typo?
| ColinWright wrote:
| He probably had 7x7x7, but with asterisks instead of the
| "x"s.
| eganist wrote:
| correct, thanks for the heads up. Fixed
| madcaptenor wrote:
| The number you come up with in that way is at least
| guaranteed to not be divisible by 2 or 7. Obviously that
| doesn't mean it's prime but it definitely helps your odds.
| naniwaduni wrote:
| Also usefully, (2(a+1)^n-1) % a = (2a(a+1)^(n-1) +
| 2(a+1)^(n-1) - 1) % a = 1. So if you choose one of the 3k+1
| primes, it's also guaranteed not divisible by 3.
| NeoTar wrote:
| apparently 9.3% of all '5 digit' numbers are prime, so random
| guessing isn't a bad strategy - you'll find one in 10.75
| totally randomly chosen numbers to be prime.
|
| Being a little smarter, prime number can only end in a 1, 3, 7
| or 9 - (ending in 0, 2, 4, 6, 8 would be even, ending in 5
| would be odd), so in fact it's more like 25% of 'likely'
| guesses.
| kadoban wrote:
| IIRC, randomly guessing is _always_ a good strategy for "give
| me a prime in the range [a, b]" , in other words that's
| what's used for algorithms that need primes anyway. Either
| guess and check or guess and increase-by-2-until-prime.
|
| Does work _much_ better in this range than at crypto sizes
| though.
| emaro wrote:
| I thought the same, but it rejects guesses that are not valid
| prime numbers. So you'll find some with trial and error. With
| that it took me only three guesses.
| tlholaday wrote:
| 00003 is not a prime?
| tlholaday wrote:
| Edit: Alas, the yellow and green square emoji are discarded.
|
|
| Partially interpreted:
|
| 🟨
|
| 🟨🟨
|
| 🟨🟨🟨🟩
|
| 🟩🟩🟩🟩🟩
| simonlc wrote:
| It's not a 5 digit prime.
| tlholaday wrote:
| 0 is a digit.
|
| Apparently I have stumbled over an idiom of the prime-
| enthusiast community.
| eCa wrote:
| > 0 is a digit.
|
| It's not a significant digit[0], though, when it's leading.
|
| [0] https://en.wikipedia.org/wiki/Significant_figures
| zamadatix wrote:
| I don't think the different usage is related to an
| individual group rather context, particularly when
| referring to numbers.
|
| E.g. 3 is a 1 digit number because that's the number of
| digits needed to uniquely identify 3. There are infinitely
| more ways to identify 3 the number with padded 0s but those
| aren't useful unless you're talking about
| combinations/sequences of groups of digits (like random
| numbers or PIN codes) instead of actual number values.
| [deleted]
| geephroh wrote:
| I agree -- maybe technically not a digit, but I'd argue
| it's a UX issue if it is allowed in the leading slot.
|
| But I still love the concept!
| NickM wrote:
| I don't think it's specific to "the prime-enthusiast
| community". Most people would look at you oddly if you
| claimed that 3 is a five-digit number.
| lapetitejort wrote:
| On the flip side, many people here would claim that
| 0x00000003 is an eight digit number.
| floatingatoll wrote:
| Only to win an argument by nitpick golfing. In everyday
| serious conversation that's a 4-byte number, not an
| 8-digit number.
| [deleted]
| beardyw wrote:
| Can't work out how to play again.
| Tempest1981 wrote:
| This is modeled on Wordle, which only allows one game per
| day... to keep you coming back. Apparently it is effective.
| mandarax8 wrote:
| Clear local storage.
| KMnO4 wrote:
| Wow, that's some bad UX. Especially when it can't as easily
| be done on mobile.
| SamBam wrote:
| It's a clone of Wordle. There is a single correct answer
| per day, and everybody gets the same puzzle. There will be
| a new answer tomorrow.
|
| So, since the puzzle will be the same, there isn't a huge
| amount of reason to let you reset.
|
| The page could have made that clearer. (Wordle says it when
| you open it the first time, and also under the help menu.)
| I double-checked this by looking at the sourcecode.
| beardyw wrote:
| > So, since the puzzle will be the same, there isn't a
| huge amount of reason to let you reset.
|
| Good point! Somehow, being numbers, I thought it would
| just make up another.
| roelschroeven wrote:
| Or play in privacy mode.
|
| The intent, I think, is to mimic how Wordle works. Wordle
| has one puzzle per day, progress and statistics are stored
| in a cookie on your local machine (and only there). You can
| clear the cookie or use another browser or privacy mode to
| play multiple times per day, but you'll always get the same
| word.
| floatingatoll wrote:
| It's intentional, same as Wordle's designed did it.
| citizenkeen wrote:
| That... is not ideal.
| [deleted]
| vehemenz wrote:
| I solved it on the first try! (after cheating with localStorage)
| sebastialonso wrote:
| This is neat! Although the prime constraint makes this a lot
| easier than Mastermind
| arbol wrote:
| This is way harder than wordle
| zamadatix wrote:
| 97501 and 24683 will get you all of the numbers (and maybe some
| position matches), from there it becomes much easier.
| tlholaday wrote:
| Enable "hard mode" in a future release, which, like Wordle's
| hard mode, rejects any guesses ruled out by previous answers.
| ryanschneider wrote:
| Someone more skilled than me make Assemble, each box is an x86
| opcode and the program must terminate (or maybe NOT terminate?).
| randstring wrote:
| I couldn't come up with any primes, nor I'm any good with
| numbers, so I started with the prime from the game example:
|
| 71429
|
| Than I already had one digit guessed and simply clicked the
| unused numbers from the virtual numpad below and got to having
| all digits with just two being in the wrong place:
|
| 35869
|
| Now this was easy to figure out.
|
| Got the following score: 20 3/6
| nsxwolf wrote:
| Primel 20 6/6
| raxxorrax wrote:
| Not easy. Mine:
|
| 65537
|
| 12497
|
| 80747
|
| 23459
|
| 64217
|
| 14771
| simonlc wrote:
| Primel 20 2/6
|
| Edit, I guess HN doesn't like emojis lol
| logitjoy wrote:
| I did 2 _3_ 5 _7_ 11*13 - 1
| logitjoy wrote:
| Primel 20 6/6
|
| 30029 12347 33331 13337 86539 65839
| [deleted]
| cbsmith wrote:
| Amusing to see people starting with odd digits so much. You're
| going to have to use an odd digit in every guess, so you can more
| efficiently explore the space by going after all the even digits
| first with 24683.
| mlyle wrote:
| 56843 was mine, for similar reasons.
| bArray wrote:
| My path:
|
| 1 2 [3] 4 7
|
| [5][6](8)[9][3]
|
| (6)(5)(8)(3)(9)
|
| Fun game! Might take a while to explain to people though!
| popctrl wrote:
| This reminds me of something about flash games in the 2000s. I
| was in high school at the time and every morning in class I would
| check onemorelevel, kongregate, etc for new games. There was a
| pattern in flash games where someone would make a great simple
| game with an interesting, novel, or long-forgotten mechanic. It
| would get to the frontpage of all these sites, and a few months
| later you'd see that mechanic mixed with every other popular
| flash game mechanic. It was really cool to see a community of
| creative people embrace an idea and then beat it to death in a
| short period of time. I think in a lot of other creative genres,
| this kind of "copying your idea but a twist" is seen as poor
| form, plagiarism, or derivative. Maybe the flash game community
| was low enough stakes that it welcomed that kind of community
| engagement. I wonder what the people actually making the games
| thought.
|
| Anyway, this is a really cool example of that. It's wordle, but
| with a twist.
| d0mine wrote:
| "Immature poets imitate; mature poets steal; bad poets deface
| what they take, and good poets make it into something better,
| or at least something different. The good poet welds his theft
| into a whole of feeling which is unique, utterly different than
| that from which it is torn."
| https://www.benshoemate.com/2012/08/02/what-does-it-mean-goo...
| omarhaneef wrote:
| Crowdsourcing decryption on the web is so crazy... it just might
| work.
|
| Now come up with a hash that starts with many zeroes.
| whoomp12342 wrote:
| "oops, sorry that one was discovered already"
| throwhauser wrote:
| There should be an option to use the "numbers" that are prime
| in a different universe.
| lupire wrote:
| what would that be?
| tobyjsullivan wrote:
| My side-project this week has been searching for an optimal
| Wordle strategy. I figured it would make a great blog post but I
| haven't got that far yet.
|
| Step 1 is to find an optimal starting word. My most insightful
| finding so far has came from trying to define a cost function for
| comparing potential starting words. It turns out that "% of
| potential guesses [not] eliminated" is an excellent loss
| function.
|
| Importantly, the full set of all Acceptable Guesses is knowable.
| For any given (guess, answer) pair, the game provides feedback
| about each character (or digit). There are basically three pieces
| of potential feedback: (N)ot Used, (U)sed Elsewhere, (E)xact
| Match. For example, a single guess might produce the feedback
| "NUNNE". Each of these will eliminate some subset of Acceptable
| Guesses which means you can attribute a fixed value between 0.0
| and 1.0 to any piece of feedback, and multiply those together to
| get the loss score of a given guess. Average that across all
| Potential Answers to get a cost score.
|
| Not sure what my goal of this post is. Guess I just wanted to
| share that these games are as much fun to analyze as they are to
| play (if not more).
| hadem wrote:
| My first two guesses are usually AUDIO and RENTS if it helps
| -\\_(tsu)_/-
| oceliker wrote:
| I use ADIEU to get 4 wovels, likely the same reason you
| picked AUDIO.
| Tuna-Fish wrote:
| SLATE/ROUND/PICKY has been a 8/8 for getting the correct word
| on the 4th guess since I started using it.
| xtracto wrote:
| I've given some light thought to this: There are several which
| are considered "good starting words", that mainly contain lots
| of vowels or most common used letters (such as "audio", Raise,
| etc). Then, as a second word, you could use another word that
| complements those letters (audio/rents, raise/mould ).
|
| But there is a better strategy (similar to what is used in
| those interview puzzles of "From N weights, find 1 that is
| different in X measurements of a scale): The fact that you
| input some vowels and see that they are _not_ in there, tells
| you that the remaining ones MUST be in the word (treating Y as
| a vowel as well). So it might be possible to come up with a
| strategy that uses that negative information as well to
| minimize the search space.
| rozab wrote:
| I made a lil clone of wordle and found that the full list of
| solutions, _past and future_ , is right there in the minified
| js. Could be useful for your analysis.
|
| Maybe I shouldn't be sharing this, it's a bit sad to break the
| illusion that the creator is picking a new word for us every
| day.
| airza wrote:
| You are looking for Information Gain and Mutual Information
| (concepts from information theory). Have fun!
| HWR_14 wrote:
| Since you've been looking into it, how are words with multiple
| of the same letters treated on Wordle. If there are two (or
| three) 'E' in the solution or the guess?
| CrazyStat wrote:
| I've spent some time analyzing Wordle (my starting words are
| SOARE and then BUILT, unless I've already got strong clues
| from SOARE).
|
| If the answer has one E and you guess a word with two Es,
| only one of the Es will be marked correct (green/yellow). If
| one of the Es is in the correct place, it will be green and
| the other one grey. Otherwise the first E will be yellow and
| the second grey. So if the answer has fewer Es than your
| guess the game tells you.
|
| If the answer has more Es than your guess there is no
| indication of this.
| bluesign wrote:
| I think single level is not enough for the best guess. There is
| a maximum depth ( 6 guesses ). So strategy should consider also
| this limit.
| [deleted]
| hcrisp wrote:
| Harder than Wordle but still solvable. Mine:
| 95317 -+- 25943 +- - 65393 ++--
| 65839 +++++
|
| Some luck, but you can also lock in odd numbers before proceeding
| to add evens. And it obviously can't end in an even.
| 07d046 wrote:
| I thought coming up with primes would be very challenging, but
| then my first three guesses were all prime (all I did was pick
| numbers that ended with odd numbers that weren't five). I got it
| on the fourth after a few attempts at entering the number - the
| prime constraint here makes it easier.
|
| There are 8,363 five digit primes. If you limit your guesses to
| numbers ending in 1, 3, 7, and 9, there is a 23% chance of
| randomly picking a prime.
| airstrike wrote:
| I got a popup 'Not a 5 digit prime' on my first try and it
| wouldn't let me try any further. Not sure if I'm dense or if the
| UX is just terrible
|
| I had tried 18141, by the way, which I modestly think was a
| pretty good guess in hindsight given its only two factors are 3
| and 6047. 19141 would have been a prime, but perhaps not the one
| I was supposed to find? I don't play Wordle so I'm a little
| confused
| xendo wrote:
| when sum of the digits is divisible by 3, the number itself is
| divisible by 3
|
| 1+8+1+4+1 = 15 15/3 = 5
| airstrike wrote:
| Sure, but that shouldn't halt the game entirely, should it?
| bidirectional wrote:
| Only primes are valid guesses, just like how in Wordle only
| English words found in a dictionary are valid.
| NAHWheatCracker wrote:
| You have to click delete to reset the last digit.
|
| I think it should clear the whole guess after an invalid guess.
| floatingatoll wrote:
| Were you able to hit the delete key and remove the typed
| numbers? (Works on wordle too)
___________________________________________________________________
(page generated 2022-01-21 23:01 UTC)