Find the number of stair steps | C ++ program to find the number of steps ; Modified Binary search function to solve the equation ; if mid is solution to equation ; if our solution to equation lies between mid and mid - 1 ; if solution to equation is greater than mid ; if solution to equation is less than mid ; driver function ; call binary search method to solve for limits 1 to T ; Because our pattern starts from 2 , 3 , 4 , 5. . . so , we subtract 1 from ans
#include <bits/stdc++.h> NEW_LINE using namespace std ; int solve ( int low , int high , int T ) { while ( low <= high ) { int mid = ( low + high ) / 2 ; if ( ( mid * ( mid + 1 ) ) == T ) return mid ; if ( mid > 0 && ( mid * ( mid + 1 ) ) > T && ( mid * ( mid - 1 ) ) <= T ) return mid - 1 ; if ( ( mid * ( mid + 1 ) ) > T ) high = mid - 1 ; else low = mid + 1 ; } return -1 ; } int main ( ) { int T = 15 ; int ans = solve ( 1 , T , 2 * T ) ; if ( ans != -1 ) ans -- ; cout << " Number ▁ of ▁ stair ▁ steps ▁ = ▁ " << ans << endl ; return 0 ; }