@Dave: yeahh....rite ... +1 :) On 7 Apr 2012 21:13, "Dave" <dave_and_da...@juno.com> wrote: > > @Atul007: A shorter and logically simpler version of this: > > bool IsOnesZerosOnes(unsigned int n) > { > while( n & 1 ) n >>= 1; > if( !n ) return 0; > while( !(n & 1 ) ) n >>= 1; > while( n & 1 ) n >>= 1; > return !n; > } > > The first while loop strips off the trailing ones. > If the result is nonzero, the second while strips off the zeros, and the third while strips off the next set of ones. > If the result is zero, the n matches the pattern; otherwise, n fails to match it. > > Dave > > On Tuesday, April 3, 2012 11:57:16 PM UTC-5, atul007 wrote: >> >> This can be done simply by checking and unchecking flag , below code will work :- >> >> void checkPattern(int n) >> { >> int cnt=0,flag=1; >> if(n&1) >> { >> while(n) >> { >> if(n&1 && flag==1) >> { >> cnt++; >> flag=0; >> } >> else if(!(n&1) && flag==0) >> { >> cnt++; >> flag=1; >> } >> if(cnt > 3) >> { >> break; >> } >> n=n>>1; >> } >> } >> if(cnt==3) >> printf("\npattern found\n"); >> else >> printf("\nPattern not found\n"); >> } >> >> >> >> >> On Wed, Apr 4, 2012 at 5:30 AM, Ashish Goel <ashg...@gmail.com> wrote: >>> >>> verify that the bits of a number are in format 1s followed by 0s followed by 1s like 1110001 is valid but 100100100 is not >>> >>> Best Regards >>> Ashish Goel >>> "Think positive and find fuel in failure" >>> +919985813081 >>> +919966006652 >>> >>> -- >>> You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. >>> To post to this group, send email to algogeeks@googlegroups.com. >>> To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. >>> For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en. >> >> > -- > You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. > To view this discussion on the web visit https://groups.google.com/d/msg/algogeeks/-/eJ4jTQHMOaYJ. > > To post to this group, send email to algogeeks@googlegroups.com. > To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. > For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.
-- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to algogeeks@googlegroups.com. To unsubscribe from this group, send email to algogeeks+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.