This problem can be reduced if we are taking whole 32 bits... Mean left most all 0's bits are also including then if number is less than 65535 (2^16-1) then make it 0.... as 16 bits are at least zero in this case
On Sun, Aug 21, 2011 at 2:19 PM, Sanjay Rajpal <[email protected]> wrote: > let n be the no.of integers in the array : > > int i=1,a; > int zero,one; > for(int a=1;a<=32;a++) > { > zero=0; > one=0; > for(int j=0;j<n;j++) > { > if(a[j] & i) > { > one++; > } > else > { > zero++; > } > } > if(one > zero) > { > printf("1s are more \n"); > } > else > { > printf("0s are more \n"); > } > i=i<<1; > } > > Correct me if m wrong. > > Sanju > :) > > > > On Sun, Aug 21, 2011 at 1:28 AM, Dheeraj Sharma < > [email protected]> wrote: > >> yeah i took it in the another way..i ll post it v soon >> >> On 8/21/11, himanshu kansal <[email protected]> wrote: >> > problem: There is an array containing integers..... >> > for every bit in the integer,you have to print a 1 if no of 1s >> > corresponding to that bit is more than no of 0s corresponding to that >> > bit (counting that bit in all the integers) otherwise print a 0(if no >> > of 0s corresponding to that bit are more). >> > >> > this you have to do for all bits in the integers..... >> > >> > assumption:integers are of 32bits. >> > no of integers in array are odd...(i.e. there is no case like no. of >> > 1s=no. of 0s) >> > >> > i have done this by counting the no of 1s and 0s for all bits..... >> > >> > but can anyone suggest any other efficient approach (somewhat using >> > bitwise operators)..... >> > >> > -- >> > You received this message because you are subscribed to the Google >> Groups >> > "Algorithm Geeks" group. >> > To post to this group, send email to [email protected]. >> > To unsubscribe from this group, send email to >> > [email protected]. >> > For more options, visit this group at >> > http://groups.google.com/group/algogeeks?hl=en. >> > >> > >> >> >> -- >> *Dheeraj Sharma* >> Comp Engg. >> NIT Kurukshetra >> +91 8950264227 >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Algorithm Geeks" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> 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 [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/algogeeks?hl=en. > -- **Regards SAGAR PAREEK COMPUTER SCIENCE AND ENGINEERING NIT ALLAHABAD -- You received this message because you are subscribed to the Google Groups "Algorithm Geeks" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/algogeeks?hl=en.
