Prefixes with more a than b | Function to count prefixes ; calculating for string S ; count == 0 or when N == 1 ; when all characters are a or a - b == 0 ; checking for saturation of string after repetitive addition ; Driver Code
< ? php function prefix ( $ k , $ n ) { $ a = 0 ; $ b = 0 ; $ count = 0 ; $ i = 0 ; $ len = strlen ( $ k ) ; for ( $ i = 0 ; $ i < $ len ; $ i ++ ) { if ( $ k [ $ i ] == ' a ' ) $ a ++ ; if ( $ k [ $ i ] == ' b ' ) $ b ++ ; if ( $ a > $ b ) { $ count ++ ; } } if ( $ count == 0 $ n == 1 ) { echo ( $ count ) ; return 0 ; } if ( $ count == $ len $ a - $ b == 0 ) { echo ( $ count * $ n ) ; return 0 ; } $ n2 = $ n - 1 ; $ count2 = 0 ; while ( $ n2 != 0 ) { for ( $ i = 0 ; $ i < $ len ; $ i ++ ) { if ( $ k [ $ i ] == ' a ' ) $ a ++ ; if ( $ k [ $ i ] == ' b ' ) $ b ++ ; if ( $ a > $ b ) { $ count2 ++ ; } } $ count += $ count2 ; $ n2 -- ; if ( $ count2 == 0 ) break ; if ( $ count2 == $ len ) { $ count += ( $ n2 * $ count2 ) ; break ; } $ count2 = 0 ; } return $ count ; } $ S = " aba " ; $ N = 2 ; echo ( prefix ( $ S , $ N ) . " " ) ; $ S = " baa " ; $ N = 3 ; echo ( prefix ( $ S , $ N ) . " " ) ;