Someone can explain that code please ?
using System;
class Program {
static int[] p = new int[4] { 2, 3, 5, 7 };
static double sum = 0, max = Math.Pow(10, 100);
static void Main(string[] args)
{
    for (int i = 0; i < p.Length; i++)
        f(1, p[i], i);
    Console.WriteLine(sum);
}
static void f(double produit, int val, int pos)
{
    produit *= val;
    if (produit < max)
    {
        sum += produit;
        for (int i = pos; i < p.Length; i++)
            f(produit, p[i], i);
    }
}
}