public static void Main()
var result = ProductExceptSelf(new int[]{1, 2, 3, 4});
foreach (var r in result){
Console.Write("{0} ", r);
public static int[] ProductExceptSelf(int[] nums) {
var result = new int[nums.Length];
for (int i = 1; i < nums.Length; i++){
result[i] *= result[i-1];
for (int i = nums.Length - 2; i >= 0; i--){
result[i] *= result[i+1];