Задача на ряды

Nirritia

Дано некоторое натуральное k.
Нужно узнать, какая _цифра_ из натурального ряда (1,2,3,..) соответствует данному числу.
На самом деле нужна всего лишь формула.

kliM

char digit=k+'0'; // -- это?

Nirritia

Нужен не номер символа в таблице символов, а например, дана последовательность натуральная:
1234567891011121314151617181920...
и число k=12, так вот в этой последовательности номеру k соответствует цифра 0.
Так вот по какой формуле это можно было бы посчитать?

aqvamen

Э? а почему у меня выходит "1"?

Nirritia

Сорри, когда писал последовательность про 0 вначале забыл=)

kliM

хм... нужно аналитическую формулу для суммы 1+20+300+...+n*10^n придумать...

kliM

чё-то типа такого:
long pow10(long n)
{
return long(pow(10, n;
}
long N(long k, int n=1)
{
return k>pow10(n)*n ? N(k-pow10(n)*n, n+1) : (k/n+pow10(n / pow10(n-k%n-1) % 10;
}

Custodian

Можно прогу написать, которая это вычисляет, а формулу в явном виде писать нет смысла (будет какой нибудь ряд)- ничего простого вроде бы нет

Irina_Afanaseva

формула есть, в "демидовиче" или в даже Ткачуке (урок Прогрессии)

tatako64

А при чем тут ноль? Он же вроде только у французов в натуральный ряд входит

aqvamen

Ещё у логиков

dragan24

Формула не такая получается?
цифра = [X/10^(lg X + 1 - k)] mod (10^(k-1
Х - заданное число. k - номер разряда числа (слева начиная с k=1.

Zver22

или в даже Ткачуке (урок Прогрессии)

Нет, старик, это на тебя фан и прочая высшая сила плохо действует.
Что касается Ткачка, то, как человек, который с ним спит :- могу заверить, что при всей прогрессивности Ткачука, он это не дает.
Оставить комментарий
Имя или ник:
Комментарий: