xxxxxxxxxx
75
let next_p = function() {
let p = 1;
return function() {
let isp = false;
while(isp == false) {
p += 1;
isp = true;
for(let n = 2; n <= p/2; n++) {
if(p % n == 0) {
isp = false;
break;
}
}
}
return p;
};
}();
function one_on_p(p) {
let qlist = [], rlist = [];
let a = 10;
while(a < p) {
a *= 10;
qlist.push(0);
}
let r = a % p;
let q = (a - r) / p;
qlist.push(q);
rlist.push(r);
while(r > 1) {
a = r * 10;
r = a % p;
q = (a - r) / p;
qlist.push(q);
rlist.push(r);
}
return {q: qlist, r: rlist};
}
function replen(p) {
let a = 10, rlen = 1, zlen = 0;
while(a < p) {
a *= 10;
zlen += 1;
}
a = a % p;
while(a > 1) {
a = (a * 10) % p;
rlen += 1;
}
return { r: rlen, q: rlen+zlen };
}
function is_full_length(p) {
return replen(p).q == p-1;
}
function setup() {
noCanvas();
noLoop();
for(let p=next_p(); p<100000; p=next_p()) {
if(replen(p).q == 10) {
print(p, one_on_p(p).q);
}
}
}