Тема: Как найти первые k(k<=9) цифр числа N^N(n<=10^9)?
думаю,что без бинарного возведения в степень не обойтись,а вот что дальше делать я не знаю ещё.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
MAXimal :: φορυμ » Problems » Как найти первые k(k<=9) цифр числа N^N(n<=10^9)?
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
думаю,что без бинарного возведения в степень не обойтись,а вот что дальше делать я не знаю ещё.
A = a * 10^X = 10^(lg(A) - floor(lg(A))) * 10^floor(lg(A))
a = 10^(lg(A) - floor(lg(A)))
вместо 123456 получиться 1.23456 * 10^5
Ответ соответственно будет floor(a * 10^(k - 1))
Как можно повысить точность вычислений используя данные формулы, в с++ log10 дает погрешности?
it hasn't got so long code:
double len=floor(n*log10(n))+1;
double ost=n*log10(n)+1.0-len;
unsigned long long result=(unsigned long long)(pow(10.0,ost));
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
MAXimal :: φορυμ » Problems » Как найти первые k(k<=9) цифр числа N^N(n<=10^9)?