Some site said that this is a google interview question:
There is an array A[N] of N integers. You have to compose an array B[N] such that B[i] will be equal to the product of all the elements of A except A[i].
B[i] = (product from j = 1 to N, j not equal to i) A[i]
Input:[4, 3, 2, 1, 2]
Output:[12, 16, 24, 48, 24]
Solve it without division operator and in O(n).
Update (11/12/09) : Solution provided by Subhasis (EE, IITB) in comments!!
Update (01/01/10) : Solution for another case provided by Shantanu Gangal, BCG (CSE, IITB alumnus) in comments!!