Cuelgue preguntó n! ¿Cuántos dígitos como n relativamente grande, este número es difícil expresar como una comparación matemática verduras Hang, así que por favor ayuden a este ACMer talento.
Para hacer esta pregunta convertido en un problema de asistencia, Pasar a darle una fórmula
image.png
stirling fórmula se utiliza para encontrar el n! aproximación, cuando el valor de n mayor cuando la más precisa
Cuelgue también es bueno que le diga e = 2,718281828
Incluso dio una fórmula, no he visto a una persona tan buena fuera de cuestión
Entrada
La primera línea número entero uno t, grupo t olvide como t
Uno para cada entero n (1 <= n <= 1E7)
La salida de
las líneas de T, cada uno un entero que representa el n! Bits
SampleInput
2
10
20
SampleOutput
7
19
significado de las preguntas: buscar n! Bits
ideas: establece directamente el valor calculado por la fórmula, y luego conjuntos de funciones Loglo () puede ser. Este problema O (n) n términos se acumula antes de que el OKK.
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int t,n;
cin >> t;
while(t--)
{
double s=0;
cin >> n;
for(int i=1;i<=n;i++)
s+=log10(i);///相加在log里转换为相乘就变成了阶乘
cout << (int)s+1 << endl;
}
return 0;
}