array of simple number
by Евгений
HTML
<div class="result"></div>
<div class="debug"></div>
<div class="resume"></div>
SCSS
.result,
.resume,
.debug {
border: 1px solid grey;
background-color: #dbdbdb;
padding: 0 4px 4px 4px;
line-height: 1.5rem;
&::before {
display: block;
padding: 4px;
margin: 0 -4px;
background-color: grey;
}
&:empty {
display: none;
}
}
.result::before {
content: 'result:';
}
.resume::before {
content: 'resume:';
}
.debug::before {
content: 'debug:';
}
JavaScript
const log = (result) => document.querySelector('.result').textContent = result;
const resume = (result) => document.querySelector('.resume').textContent = result;
const debug = (data) => {
const element = document.querySelector('.debug');
element.innerHTML += `<div>${data}</div>`;
}
const getArrayOfSimple = (n) => {
const arr = [];
forOne: for (let i = 0; i < n; i++) {
const item = i + 1;
if (item % 2 === 0 && item !== 2) continue;
const minDel = Math.sqrt(item);
for (let j = 1; j < arr.length; j++) {
if (arr[j] > minDel) break;
if (item % arr[j] === 0) continue forOne;
}
arr.push(item);
}
return arr;
}
const isPanNumbers = (num) => {
const string = String(num)
return string
.split('')
.filter((item, index, arr) => arr.indexOf(item) === index)
.length === string.length;
}
log(getArrayOfSimple(100).join(', '))
resume(getArrayOfSimple(100000).filter(isPanNumbers).pop())