2010-04-15 19 views
10

Para los números enteros N y K (1 < = N, K < = 2000000000) debe encontrar el número de dígitos de N^K.Número de dígitos para N ** K

¿Hay alguna fórmula o algo? Porque traté de resolverlo simplemente alimentando N ** K pero no funciona para valores grandes y el programa simplemente se congela debido a los cálculos. Estoy buscando alguna forma rápida tal vez alguna fórmula matemática como dije antes.

+4

Gracias por ser honesto acerca de que sea una cosa de la escuela. – clahey

+0

'bc',' dc' y Python son calculadoras de números grandes mucho más convenientes de lo que jamás pueda ser C++. – Potatoswatter

+0

Extraño la vida universitaria. –

Respuesta

15

El registro de 10 bases de N debería darle el número de dígitos en él. Esto debe ser suficiente como una pista :-)

1

Trate de pensar en una operación matemática que le indique la cantidad de dígitos de un número. Aplíquelo a N ** K y vea si no puede simplificar la fórmula.

2

Consejos: Log (X^Y) = Y * Log (X)

Los siguientes números tienen 4 dígitos; la parte entera del logaritmo decimal es 4 - 1 = 3. Log 1000 = 3, Log (9999) = 3,9999565683801924896154439559762

Cuestiones relacionadas