Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- unsigned int nextGreaterSameCOunt(unsigned int num)
- {
- int countOneInTheRightSide = 0;
- for (int i = 0; i< 32; i++){
- if (i+1 < 32 && !(num&(i+1)) && (num&i)){ // (i+1)th bit 0 and ith bit 1 check korlam
- num = num | (1<<(i+1)); // (i+1)th bit set korlam , 1 banaisi
- num = num & ~(1<<i); // ith bit clear korlam, 0 banaisi
- break; // first pair pawar por i break kore dichi
- }
- if (num & (1<<i)){
- countOneInTheRightSide ++; // first pair na pawa porjnto age joto 1 count kore gesi parallely
- }
- }
- for (int i = 0; i< countOneInTheRightSide; i++){
- num |= (1<<(i+1)); // last e dan theke abar set kortesi bit joto gula paisilam
- }
- return num
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement