Data update
This commit is contained in:
parent
4bb20c9b71
commit
cbaf4c4b64
12390 changed files with 318560 additions and 27248 deletions
77
Task/Brazilian-numbers/JavaScript/brazilian-numbers.js
Normal file
77
Task/Brazilian-numbers/JavaScript/brazilian-numbers.js
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
function sameDigits(n, b) {
|
||||
let f = n % b;
|
||||
while ((n = Math.floor(n / b)) > 0) {
|
||||
if (n % b !== f) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function isBrazilian(n) {
|
||||
if (n < 7) return false;
|
||||
if (n % 2 === 0) return true;
|
||||
for (let b = 2; b < n - 1; b++) {
|
||||
if (sameDigits(n, b)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function isPrime(n) {
|
||||
if (n < 2) return false;
|
||||
if (n % 2 === 0) return n === 2;
|
||||
if (n % 3 === 0) return n === 3;
|
||||
let d = 5;
|
||||
while (d * d <= n) {
|
||||
if (n % d === 0) return false;
|
||||
d += 2;
|
||||
if (n % d === 0) return false;
|
||||
d += 4;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
function main() {
|
||||
const kinds = ["", "odd ", "prime "];
|
||||
|
||||
for (const kind of kinds) {
|
||||
let quiet = false;
|
||||
const BigLim = 99999;
|
||||
const limit = 20;
|
||||
console.log(`First ${limit} ${kind}Brazilian numbers:`);
|
||||
let c = 0;
|
||||
let n = 7;
|
||||
|
||||
while (c < BigLim) {
|
||||
if (isBrazilian(n)) {
|
||||
if (!quiet) process.stdout.write(n + ' ');
|
||||
if (++c === limit) {
|
||||
console.log("\n");
|
||||
quiet = true;
|
||||
}
|
||||
}
|
||||
if (quiet && kind !== "") continue;
|
||||
|
||||
if (kind === "") {
|
||||
n++;
|
||||
} else if (kind === "odd ") {
|
||||
n += 2;
|
||||
} else if (kind === "prime ") {
|
||||
while (true) {
|
||||
n += 2;
|
||||
if (isPrime(n)) break;
|
||||
}
|
||||
} else {
|
||||
throw new Error("Unexpected");
|
||||
}
|
||||
}
|
||||
|
||||
if (kind === "") {
|
||||
console.log(`The ${BigLim + 1}th Brazilian number is: ${n}\n`);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
Loading…
Add table
Add a link
Reference in a new issue