
- Javascript Basics Tutorial
- Javascript - Home
- Javascript - Overview
- Javascript - Syntax
- Javascript - Enabling
- Javascript - Placement
- Javascript - Variables
- Javascript - Operators
- Javascript - If...Else
- Javascript - Switch Case
- Javascript - While Loop
- Javascript - For Loop
- Javascript - For...in
- Javascript - Loop Control
- Javascript - Functions
- Javascript - Events
- Javascript - Cookies
- Javascript - Page Redirect
- Javascript - Dialog Boxes
- Javascript - Void Keyword
- Javascript - Page Printing
- JavaScript Objects
- Javascript - Objects
- Javascript - Number
- Javascript - Boolean
- Javascript - Strings
- Javascript - Arrays
- Javascript - Date
- Javascript - Math
- Javascript - RegExp
- Javascript - HTML DOM
- JavaScript Advanced
- Javascript - Error Handling
- Javascript - Validations
- Javascript - Animation
- Javascript - Multimedia
- Javascript - Debugging
- Javascript - Image Map
- Javascript - Browsers
- JavaScript Useful Resources
- Javascript - Questions And Answers
- Javascript - Quick Guide
- Javascript - Functions
- Javascript - Resources
Finding the k-prime numbers with a specific distance in a range in JavaScript
K-Prime Numbers
A natural number is called k-prime if it has exactly k prime factors, counted with multiplicity.
Which means even though the only prime factor of 4 is 2 it will be a 2-prime number because −
4 = 2 * 2 and both 2s will be counted separately taking the count to 2.
Similarly, 8 is 3-prime because 8 = 2 * 2 * 2 taking the count to 3.
Problem
We are required to write a JavaScript function that takes in a number k, a distance and a range.
Our function should return an array of arrays containing k-prime numbers within the range the distance between whom is exactly equal to the distance specified.
Example
Following is the code −
const k = 2; const step = 2; const range = [0, 50]; const kPrimeSteps = (k = 1, step = 1, [start, end]) => { const res = []; let i = start; const findLen = (n = 1) => { let count = 0, i = 2; while (i * i <= n) { while (n % i === 0) { count++; n /= i; } i++; } if (n > 1) count++; return count; } while (i <= end - step) { if ((findLen(i) == k && findLen(i+step) == k)) res.push([i, i+step]); i++; } return res; }; console.log(kPrimeSteps(k, step, range));
Output
Following is the console output −
[ [ 4, 6 ], [ 33, 35 ] ]
- Related Articles
- Finding two prime numbers with a specific number gap in JavaScript
- Prime numbers in a range - JavaScript
- Prime numbers within a range in JavaScript
- Finding Armstrong numbers in a given range in JavaScript
- Finding sequential digit numbers within a range in JavaScript
- Finding sum of all numbers within a range in JavaScript
- Sum of prime numbers between a range - JavaScript
- Listing all the prime numbers upto a specific number in JavaScript
- Finding the least common multiple of a range of numbers in JavaScript?
- Finding the count of total upside down numbers in a range using JavaScript
- How to generate random whole numbers in JavaScript in a specific range?
- Find numbers with K odd divisors in a given range in C++
- Finding the count of numbers divisible by a number within a range using JavaScript
- Count all the numbers in a range with smallest factor as K in C++
- Finding hamming distance in a string in JavaScript

Advertisements