Deutsch English Français Italiano |
<uj3cm5$1tcno$1@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.mixmin.net!eternal-september.org!reader02.eternal-september.org!fretwizzer.eternal-september.org!.POSTED!not-for-mail From: Steve Carroll <"Steve Carroll"@noSPAM.none> Newsgroups: alt.computer.workshop Subject: Re: GCHQ's hacker recruitment puzzle Date: Wed, 2 Mar 2022 01:28:47 -0000 (UTC) Organization: Down Under Lines: 65 Message-ID: <svmh8f$ukq$2@fretwizzer.eternal-september.org> References: <KbbTJ.68312$wLv5.28894@fx13.ams1> <svjsl3$7fh$1@fretwizzer.eternal-september.org> <svljr9$39i$1@apd.eternal-september.org> <svllul$l6e$1@fretwizzer.eternal-september.org> <svln2s$l6e$2@fretwizzer.eternal-september.org> <svlrmj$543$1@fretwizzer.eternal-september.org> <svm2ku$tk6$1@apd.eternal-september.org> <svm8b2$6jl$1@fretwizzer.eternal-september.org> <svmckr$4aa$1@apd.eternal-september.org> <svmdmg$7re$1@fretwizzer.eternal-september.org> <svmgbb$pst$1@apd.eternal-september.org> Reply-To: noSPAM.none Injection-Date: Wed, 2 Mar 2022 01:28:47 -0000 (UTC) Injection-Info: fretwizzer.eternal-september.org; posting-host="92222d1e6209a300b5d7d35c7b7b5344"; logging-data="31386"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX19+jXWjKe0iWTC6dF7cmfHpMx+MBV0Y6Q2LofQ8uBPj5A==" User-Agent: slrn/1.0.3 (Darwin) Cancel-Lock: sha1:aM7Y3W9R+jeztkMIWP3In3aOWrk= Bytes: 3118 On 2022-03-02, Apd <not@all.invalid> wrote: > "Steve Carroll" wrote: >> On 2022-03-02, Apd wrote: >>> Now I can't make sense of it. >> >> The smaller of the two primes is the 'rot' number, in this case: 11 > > Actually, it's rot15 > >>> Typo corrected: >>> >>> TCNUE LGHK8 MRA8E 8FP8Z 88BOS TY8QR X8H88 UO8OE D8IWJ V8O8 >>> >>> Run it through the code you posted and read top to bottom. >> >> I can't get it to run. Can you post exactly what you're running it >> through? > > Replaced '8' with '+' so you can see where the spaces are supposed to > be. Read grid top to bottom, left to right. > > - - - > > let str = "TCNUE LGHK8 MRA8E 8FP8Z 88BOS TY8QR X8H88 UO8OE D8IWJ V8O8" > str = str.replace(/ /g, '') > > function primes(n){ > let factors = [], divisor = 2 > while(n >= 2){ > if(n % divisor === 0){ > factors.push(divisor); > n = n/divisor; > } else{ > divisor++; > } > } > return factors; > } > > let nums = primes(str.length) > let body = document.querySelector('body') > let table = document.createElement('table') > body.appendChild(table) > let largest = Math.max(...nums), smallest = Math.min(...nums) > > while (smallest > 0) { > let row = document.createElement('tr') > for(let i =largest; i > 0; i--) { > let td = document.createElement('td') > row.appendChild(td) > } > table.appendChild(row) > smallest = smallest - 1 > } > > let strArr = str.toUpperCase().replace(/8/g,'+').split('') > let tds = document.querySelectorAll('td') > > for(let i = 0; i < strArr.length; i++) { > tds[i].textContent = strArr[i] > } > > - - - OK, that makes sense.