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 14 15 | #include <iostream> #include <cmath> using namespace std; int main() { int n, r; cin >> n; r = floor(((n*log10(n/M_E) + log10(2*M_PI*n)/2.0))) + 1; cout << r << endl; return 0; } |
Nenhum comentário:
Postar um comentário