Find maximum N such that the sum of square of first N natural numbers is not more than X | Function to return the sum of the squares of first N natural numbers ; Function to return the maximum N such that the sum of the squares of first N natural numbers is not more than X ; Driver code
< ? php function squareSum ( $ N ) { $ sum = ( $ N * ( int ) ( $ N + 1 ) * ( 2 * $ N + 1 ) ) / 6 ; return $ sum ; } function findMaxN ( $ X ) { $ low = 1 ; $ high = 100000 ; $ N = 0 ; while ( $ low <= $ high ) { $ mid = ( int ) ( $ high + $ low ) / 2 ; if ( squareSum ( $ mid ) <= $ X ) { $ N = $ mid ; $ low = $ mid + 1 ; } else $ high = $ mid - 1 ; } return $ N ; } $ X = 25 ; echo findMaxN ( $ X ) ; ? >