
- 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
Counting prime numbers that reduce to 1 within a range using JavaScript
Problem
We are required to write a JavaScript function that takes in a range array of two numbers. Our function should return the count of such prime numbers whose squared sum of digits eventually yields 1.
For instance, 23 is a prime number and,
22 + 32 = 13 12 + 32 = 10 12 + 02 = 1
Hence, 23 should be a valid number.
Example
Following is the code −
const range = [2, 212]; String.prototype.reduce = Array.prototype.reduce; const isPrime = (n) => { if ( n<2 ) return false; if ( n%2===0 ) return n===2; if ( n%3===0 ) return n===3; for ( let i=5; i*i<=n; i+=4 ) { if ( n%i===0 ) return false; i+=2; if ( n%i===0 ) return false; } return true; } const desiredSeq = (n) => { let t=[n]; while ( t.indexOf(n)===t.length-1 && n!==1 ) t.push(n=Number(String(n).reduce( (acc,v) => acc+v*v, 0 ))); return n===1; } const countDesiredPrimes = ([a, b]) => { let res=0; for ( ; a<b; a++ ) if ( isPrime(a) && desiredSeq(a) ) res++; return res; } console.log(countDesiredPrimes(range));
Output
12
- Related Articles
- Prime numbers within a range in JavaScript
- Prime numbers in a range - JavaScript
- Python - Find the number of prime numbers within a given range of numbers
- Sum of prime numbers between a range - JavaScript
- Finding sequential digit numbers within a range in JavaScript
- Finding the count of numbers divisible by a number within a range using JavaScript
- Generating desired pairs within a range using JavaScript
- How to find Kaprekar numbers within a given range using Python?
- Summing cubes of natural numbers within a range in JavaScript
- Finding sum of all numbers within a range in JavaScript
- Counting prime numbers from 2 upto the number n JavaScript
- Print prime numbers in a given range using C++ STL
- Program to print prime numbers in a given range using C++ STL
- Golang Program to Print Odd Numbers Within a Given Range
- Algorithm to sum ranges that lie within another separate range in JavaScript

Advertisements