UNPKG

mathball

Version:

A JavaScript library for Competitive Programming

31 lines (28 loc) 600 B
'use strict'; /* Smart Number * Function: smart() */ var sort = require("../sort"); var validate = require('../validation/positive-integer'); exports.find = function (num) { validate(num, 'smart'); var size = 3000; var primes = new Array(size); for (var i = 0; i < size; i++) { primes[i] = 0; } var result = new Array(); for (var i = 2; i < size; i++) { if (primes[i] === 0) { primes[i] = 1; for (var j = i * 2; j < size; j = j + i) { primes[j] = primes[j] - 1; if (primes[j] + 3 === 0) { result.push(j); } } } } sort(result); return result[num - 1]; };