Minimum steps to minimize n as per given condition | A tabulation based solution in PHP ; Driver Code
< ? php function getMinSteps ( $ n ) { $ table = array ( ) ; for ( $ i = 0 ; $ i <= $ n ; $ i ++ ) $ table [ $ i ] = $ n - $ i ; for ( $ i = $ n ; $ i >= 1 ; $ i -- ) { if ( ! ( $ i % 2 ) ) $ table [ $ i / 2 ] = min ( $ table [ $ i ] + 1 , $ table [ $ i / 2 ] ) ; if ( ! ( $ i % 3 ) ) $ table [ $ i / 3 ] = min ( $ table [ $ i ] + 1 , $ table [ $ i / 3 ] ) ; } return $ table [ 1 ] ; } $ n = 10 ; echo getMinSteps ( $ n ) ; ? >