Re: The Project Euler thread

woohoo

woohoo

Took 0.485 seconds to generate prime list up to 1000000. problem35.html:46 For 11, all digit rotations are prime: 11 problem35.html:100 For 13, all digit rotations are prime: 13,31 problem35.html:100 For 17, all digit rotations are prime: 17,71 problem35.html:100 For 37, all digit rotations are prime: 37,73 problem35.html:100 For 79, all digit rotations are prime: 79,97 problem35.html:100 ... A total of ????? circular primes. problem35.html:111 Took 0.862 seconds.
n = 10**6
isprime = [0,0]+[1 for i in range(n-1)]
for i in xrange(2,int(n**.5)+1):
if isprime[i]==1:
for j in xrange(i*i,n+1,i): isprime[j]=0
s=1
for i in xrange(3,n,2):
if isprime[i]==1:
if all(isprime[int(str(i)[r:] + str(i)[:r])]==1 for r in xrange(1,len(str(i)))):
for r in xrange(len(str(i))):
if isprime[int(str(i)[r:] + str(i)[:r])] == 1:
isprime[int(str(i)[r:] + str(i)[:r])] = 0
s+=1
print s
function check(num) {
getdigits(num);
var keepgoing = true;
if ( (digits.indexOf(0) != -1) ||
(digits.indexOf(2) != -1) ||
(digits.indexOf(4) != -1) ||
(digits.indexOf(5) != -1) ||
(digits.indexOf(6) != -1) ||
(digits.indexOf(8) != -1) ) keepgoing = false;
if (keepgoing) {
var temparr = [num];
var commit = true;
for (var k = 0; k < digits.length; k++) {
rotatedigits();
var newnum = getnum();
if (temparr.indexOf(newnum) === -1) temparr.push(newnum);
if (primes.indexOf(newnum) === -1) {
commit = false;
break;
}
}
if (commit) {
for (var k = 0; k < temparr.length; k++) {
circprimes[temparr[k]] = 1;
}
console.log('For ' + num + ', all digit rotations are prime: ' + temparr);
circcount = circcount + temparr.length;
}
}
digits = [];
}
for (var k = 4; k < primes.length; k++) {
if (!circprimes[primes[k]]) check(primes[k]);
}
Comment