Sum of largest prime factor of each number less than equal to n | function to find sum of largest prime factor of each number less than equal to n ; Create an integer array " prime [ 0 . . n ] " and initialize all entries of it as 0. A value in prime [ i ] will finally be 0 if ' i ' is a prime , else it will contain the largest prime factor of ' i ' . ; If prime [ p ] is '0' , then it is a prime number ; Update all multiples of p ; Sum up the largest prime factor of all the numbers ; If ' p ' is a non - prime number then prime [ p ] gives its largesr prime factor ; ' p ' is a prime number ; Required sum ; Driver code
function sumOfLargePrimeFactor ( n ) { let prime = new Array ( n + 1 ) ; let sum = 0 ; let max = n / 2 ; for ( let i = 0 ; i < n + 1 ; i ++ ) prime [ i ] = 0 ; for ( let p = 2 ; p <= max ; p ++ ) { if ( prime [ p ] == 0 ) { for ( let i = p * 2 ; i <= n ; i += p ) prime [ i ] = p ; } } for ( let p = 2 ; p <= n ; p ++ ) { if ( prime [ p ] ) sum += prime [ p ] ; else sum += p ; } return sum ; } let n = 12 ; document . write ( " " + sumOfLargePrimeFactor ( n ) ) ;