2010-04-15 17 views
10

Für gegebene ganze Zahlen N und K (1 < = N, K < = 2000000000) müssen Sie die Anzahl der Ziffern von N^K finden.Anzahl der Ziffern für N ** K

Gibt es irgendeine Formel oder etwas? Weil ich versuchte, es zu lösen, indem ich einfach N ** K antrieb, aber es funktioniert nicht für große Werte und das Programm friert einfach wegen der Berechnungen ein. Ich bin auf der Suche nach einem schnellen Weg vielleicht eine mathematische Formel wie ich schon sagte.

+4

Danke, dass Sie ehrlich darüber sind, dass es eine Schule ist. – clahey

+0

'bc',' dc' und Python sind viel bequemere große Zahl Rechner, als C++ jemals sein kann. – Potatoswatter

+0

Ich vermisse College-Leben. –

Antwort

15

Das 10-Base-Log von N sollte Ihnen die Anzahl der Ziffern geben. Das muss als Hinweis genügen :-)

1

Versuchen Sie, an eine mathematische Operation zu denken, die Ihnen die Anzahl der Ziffern einer Zahl angibt. Wenden Sie das auf N ** K an und sehen Sie, ob Sie die Formel nicht vereinfachen können.

2

Hinweise: Log (X^Y) = Y * log (X)

den folgenden Nummern haben 4 Ziffern; der ganzzahlige Teil des Dezimal-Logarithmus ist 4 - 1 = 3. Log 1000 = 3, Log (9999) = 3,9999565683801924896154439559762

Verwandte Themen