—download jsFact.zip— (click pe imagine)

n! = 1×2×3×...×n iar logaritmul produsului este egal cu suma logaritmilor factorilor.

De exemplu, lg(10!) = lg(2) + lg(3) + ... + lg(10) ≈ 6.559763; rezultă că 10! are 7 cifre şi căutând în tabelul de logaritmi zecimali mantisa 0.559763, găsim primele cifre al lui 10!, anume 10! = 3628...

// numărul de cifre zecimale şi primele câteva cifre exacte ale factorialului
function factorial_info(n) {
    var lgf = 0;     // suma logaritmilor zecimali ai factorilor 2, 3, ..., n
    var est = Math.pow(10, 7);  // estimează numărul de cifre iniţiale exacte (7)
    var thend = "...";          // urmează alte cifre după cele estimate exact
    for(var k=2; k<=n; k++) {
        lgf += Math.log(k) / Math.LN10;  // log în baza 10, lg(k) = LN(k) / LN(10)
    }
    var len = parseInt(lgf);    // caracteristica logaritmului în baza 10 a lui n!
    if(len < 15) { est = Math.pow(10, len); thend = ""; } // "len" cifre exacte (maxim 14)
    var mantisa = parseFloat(lgf) - len; // mantisa logaritmului lui n!
    len++;                               // numărul de cifre ale lui n!
    var cifre = parseInt(Math.pow(10,mantisa)*est);   // primele "est" cifre ale lui n!
    alert(n + "! are " + len + " cifre zecimale\n" + n + "! = " + cifre + thend);
}

informaţii privind factorialul numărului: (factorial_info())

Întrebări

Există n încât n! să aibă 1000 cifre zecimale? (nu)

Există n încât n! să aibă n cifre zecimale? (22, 23 şi 24)

Folosind un alt formular (vezi mai departe), se va putea răspunde şi la această întrebare:
Există n încât n! să aibă n cifre hexazecimale? (38, 39 şi 40)

Câte cifre zecimale are 22009 şi care sunt primele câteva cifre?