I guess, earlier sarvan simply wanted to calculate
result = SUM {0<=i < N }  A[i]*(8^i)

in which
8^i = 2^(3*i) which is equivalent to  right shifting 3*i

since each A[i] is octal it is just 3bits long , we need not add we can
simply shift and do OR.

On Sun, Aug 21, 2011 at 10:16 PM, Sanjay Rajpal <srn...@gmail.com> wrote:

> @Nitin : could u explain ur logic ?
>
>
> Sanju
> :)
>
>
>
> On Sun, Aug 21, 2011 at 9:24 AM, Nitin Nizhawan 
> <nitin.nizha...@gmail.com>wrote:
>
>> @sanjay, oops, my intention was bitwise OR
>>
>>
>> On Sun, Aug 21, 2011 at 4:25 PM, sarvesh saran <
>> aquarian.thun...@gmail.com> wrote:
>>
>>> Hi Prakash,
>>>
>>> I'll paste the exact description of the problem:
>>>
>>> A non-empty array A of N elements contains octal representation of a
>>> non-negative integer K, i.e. each element of A belongs to the interval [0;
>>> 7] (both ends included).
>>>
>>> Write a function that returns the number of bits set to 1 in the binary
>>> representation of K.
>>>
>>> thanks,
>>>
>>> Sarvesh
>>>
>>>
>>>
>>>
>>>
>>>
>>> i.e take any decimal number, convert to base 8 and then store each digit
>>> of base 8 representation in an array.
>>>
>>> So the question is, given such an array get back the original number.
>>>
>>> thanks,
>>> Sarvesh
>>>
>>>
>>> On Sun, Aug 21, 2011 at 4:13 PM, Prakash D <cegprak...@gmail.com> wrote:
>>>
>>>> A[i]<<3*i
>>>>
>>>> why is it needed to convert from base 8 to base 10??
>>>>
>>>> On Sun, Aug 21, 2011 at 4:07 PM, Sanjay Rajpal <srn...@gmail.com>wrote:
>>>>
>>>>>  Hi your intention was logical OR or BITWISE OR ?
>>>>>
>>>>> u did Logical.
>>>>> Sanju
>>>>> :)
>>>>>
>>>>>
>>>>>
>>>>> On Sun, Aug 21, 2011 at 3:30 AM, sarvesh saran <
>>>>> aquarian.thun...@gmail.com> wrote:
>>>>>
>>>>>> Hi Nitin,
>>>>>>
>>>>>> thanks that makes sense. I will try that out.
>>>>>>
>>>>>> I have another question. Is there a  really fast way of converting a
>>>>>> hexadecimal string say "02F9A" to its decimal representation in C++?
>>>>>>
>>>>>> thanks,
>>>>>> Sarvesh
>>>>>>
>>>>>> thanks,
>>>>>> Sarvesh
>>>>>>
>>>>>>
>>>>>> On Sun, Aug 21, 2011 at 3:41 PM, Nitin Nizhawan <
>>>>>> nitin.nizha...@gmail.com> wrote:
>>>>>>
>>>>>>> int num = 0;
>>>>>>> for(int i=0;i<A.size();i++){
>>>>>>>    num=num||(A[i]<<3*i);
>>>>>>> }
>>>>>>> printf("%d",num);
>>>>>>>
>>>>>>> I think this will do. Given the number is with in the range of
>>>>>>> integer.
>>>>>>>
>>>>>>>
>>>>>>> On Sun, Aug 21, 2011 at 3:40 PM, Nitin Nizhawan <
>>>>>>> nitin.nizha...@gmail.com> wrote:
>>>>>>>
>>>>>>>> int num = 0;
>>>>>>>> for(int i=0;i<A.size();i++){
>>>>>>>>    num=num||(A[i]<3*i);
>>>>>>>> }
>>>>>>>> printf("%d",num);
>>>>>>>>
>>>>>>>> I think this will do.
>>>>>>>>
>>>>>>>>
>>>>>>>> On Sun, Aug 21, 2011 at 2:25 PM, sarvesh saran <
>>>>>>>> aquarian.thun...@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>>
>>>>>>>>> I have a vector<int> A or an array (for C guys) that contains the
>>>>>>>>> octal representation of a number.
>>>>>>>>>
>>>>>>>>> So the array can be something like: [1,5,7] or [7,7,5,6,3,4,2] etc
>>>>>>>>>
>>>>>>>>> i.e no number in the array can be >= 8.
>>>>>>>>>
>>>>>>>>> Now given this array, I need to convert it its decimal
>>>>>>>>> representation.
>>>>>>>>>
>>>>>>>>> The naive way to do it would be to scan array from left to right,
>>>>>>>>> take each digit, multiply by 8 pow (x) where x is from 0 to ...n and 
>>>>>>>>> compute
>>>>>>>>> sum.
>>>>>>>>>
>>>>>>>>> i.e something like:
>>>>>>>>>
>>>>>>>>> int oct = 1;
>>>>>>>>> int num = 0;
>>>>>>>>>
>>>>>>>>>  for(<array length>){
>>>>>>>>>         num+= oct * A[i];
>>>>>>>>>         oct = oct * 8;
>>>>>>>>>     }
>>>>>>>>>
>>>>>>>>> is there a faster way to do this? maybe using some STL container or 
>>>>>>>>> algorithm. ?
>>>>>>>>>
>>>>>>>>> thanks,
>>>>>>>>> sarvesh
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> 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 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.
>>>>>>
>>>>>
>>>>>   --
>>>>> 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 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.
>>>
>>
>> --
>> 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 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.

Reply via email to