Problema: 3096
Enunciado:
Ribeiro gosta muito de números fatoriais, mas recentemente ele estava calculando o fatorial de alguns números e não estava conseguindo chegar na resposta final, já que o número que estava se formando estava com muitos dígitos e nem sua calculadora era capaz de o ajudar.
O fatorial de um número N é definido por N! = 1 * 2 * 3 * .. * N.
Como Ribeiro viu que em muitos casos que ele fosse tentar achar o fatorial iria resultar em overflow, ele se contentou em saber quantos dígitos tem o fatorial de N.
Exemplo: 5! é igual a 120, portanto a quantidade de dígitos de 5! é 3.
Sua tarefa é ajudar Ribeiro e informar quantos dígitos tem N!.
O fatorial de um número N é definido por N! = 1 * 2 * 3 * .. * N.
Como Ribeiro viu que em muitos casos que ele fosse tentar achar o fatorial iria resultar em overflow, ele se contentou em saber quantos dígitos tem o fatorial de N.
Exemplo: 5! é igual a 120, portanto a quantidade de dígitos de 5! é 3.
Sua tarefa é ajudar Ribeiro e informar quantos dígitos tem N!.
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include <stdio.h> #include <math.h> int main() { int n; scanf("%i", &n); printf("%.lf\n", floor(((n*log10(n/M_E)+log10(2*M_PI*n)/2.0))) + 1); return 0; } |