43 lines
1.5 KiB
JavaScript
43 lines
1.5 KiB
JavaScript
const intervals = [
|
|
{ start: 2, end: 1000, print: true },
|
|
{ start: 1000, end: 4000, print: true },
|
|
{ start: 2, end: 10000, print: false },
|
|
{ start: 2, end: 100000, print: false },
|
|
{ start: 2, end: 1000000, print: false },
|
|
{ start: 2, end: 10000000, print: false },
|
|
{ start: 2, end: 100000000, print: false },
|
|
{ start: 2, end: 1000000000, print: false },
|
|
];
|
|
for (const intv of intervals) {
|
|
if (intv.start === 2) {
|
|
console.log(`eban numbers up to and including ${intv.end}:`);
|
|
} else {
|
|
console.log(`eban numbers bwteen ${intv.start} and ${intv.end} (inclusive):`);
|
|
}
|
|
let count = 0;
|
|
for (let i = intv.start; i <= intv.end; i += 2) {
|
|
let b = Math.floor(i / 1000000000);
|
|
let r = i % 1000000000;
|
|
let m = Math.floor(r / 1000000);
|
|
r = i % 1000000;
|
|
let t = Math.floor(r / 1000);
|
|
r %= 1000;
|
|
if (m >= 30 && m <= 66) m %= 10;
|
|
if (t >= 30 && t <= 66) t %= 10;
|
|
if (r >= 30 && r <= 66) r %= 10;
|
|
if (b === 0 || b === 2 || b === 4 || b === 6) {
|
|
if (m === 0 || m === 2 || m === 4 || m === 6) {
|
|
if (t === 0 || t === 2 || t === 4 || t === 6) {
|
|
if (r === 0 || r === 2 || r === 4 || r === 6) {
|
|
if (intv.print) process.stdout.write(i + ' ');
|
|
count++;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if (intv.print) {
|
|
console.log();
|
|
}
|
|
console.log(`count = ${count}\n`);
|
|
}
|