Skip to content

Instantly share code, notes, and snippets.

@butchi
Created June 3, 2016 12:51
Show Gist options
  • Save butchi/cdda21438784508cc43cd9f2f585a740 to your computer and use it in GitHub Desktop.
Save butchi/cdda21438784508cc43cd9f2f585a740 to your computer and use it in GitHub Desktop.
素数判定(37まで)
function isPrime(n) {
var ret = true;
for(let i = 2; i < n - 1; i++) {
if(isMultiple(n, i)) {
ret = false;
}
}
return ret;
}
function isMultiple(n, b) {
return digitalRoot(n, b + 1) === b;
}
function digitalRoot(n, b) {
nStr = n.toString(b);
if(nStr.length === 1) {
return parseInt(nStr, b);
}
var ret = 0;
[].forEach.call(nStr, (digit) => {
ret += parseInt(digit, b);
});
return digitalRoot(ret, b);
}
for(let i = 2; i <= 37; i++) {
if(isPrime(i)) {
console.log(i + ' is prime');
} else {
console.log(i + ' is not prime');
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment