Calculando el número de flotación grande rápido como 0.4 ^ 100000000, ¿alguna idea?

Ehm ... Tengo un problema Tengo un cierto cálculo cuyo resultado es superior a 10 ^ -308 (el mayor valor en doble .net) de cualquier manera resolví este problema a través de una biblioteca llamada BIGFLOAThttp: //www.fractal-landscapes.co.uk/bigint.htm ,

Lo que sea que necesite calcular algo así como 0.4 ^ (1000 o 100000000) el problema lleva mucho, mucho tiempo, aún no estudié programación paralela o distribuida, pero necesito una solución que sea rápida y comprensible para mí. para entregar este proyecto en las próximas 6 horas !! :R

Aquí está el código:

private BigFloat getBlocking(double k)
    {
        double p1, p2;
        BigFloat p3;
        p3 = new BigFloat(pp);
        p1 = this.P / (double)(k / (double)this.N);
        p2 = Math.Pow((1 - p1), 2);
        p3= new BigFloat(1-p2,pp);
        p3.Pow((int)k);
        return p3;

    }

donde K es 1000, N es 1001

Respuestas a la pregunta(2)

Su respuesta a la pregunta