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.

Reply via email to