• Чтобы пронумеровать страницы книги было использовано n цифр. Найдите количество страниц книги. Нужна формула для всех n

    к примеру было использовано 13 цифр , а страниц оказалось 11
    или
    21 цифр , 15 страниц

Ответы 4

  • #include #include using namespace std;int sum ( int n ) { if ( n / 10 != 0 ) { return n % 10 + sum ( n / 10 ) ; } else { return n % 10 ; }}int main () { int j = 10 ; long long n , x ; cin >> n >> x ; for ( int i = 1 ; i < n ; i++ ) { j *= 10 ; } cout << sum ( j-x ) ; }
  • случайно , не обращай внимания
    • Автор:

      rocky28
    • 5 лет назад
    • 0
  • Да скорее всего это задача на программирование
    • Автор:

      jackhxqv
    • 5 лет назад
    • 0
  • Можно с начало определить в какой разряд (однозначное,двузначное,трехзначное итд) принадлежит данное число по количеству цифр n.  Очевидно n это непроизвольное число, так как цифры образуют разряд числа.  Для чисел 1 до 99  всего от 1 до 189 цифр (9+2*90=189) цифр, страницу можно найти по формуле  (n-9)/2+9 = (n+9)/2 Для чисел от 100 до 999 всего от 189+3 до 189+3*900=2889 цифр, страницу можно найти по формуле (n-189)/3+99 = (n+108)/3    Для чисел от 1000 до 9999 всего от 2889+4 до 2889+4*9000=38889  страницу можно найти по формуле (n-2889)/4+999 = (n+1107)/4  итд то есть реккурентная формула будет иметь вид, для k-разряда S=(n-(9+2*90+3*900+4*9000+...))/k+(10^(k-1)-1)  =  (n-9(1+20+300+4000+...))/k+(10^(k-1)-1)   Найдем сумму 1+20+300+4000+.... = 1+2*10+3*10^2+4*100^3=1+2x+3x^2+4x^3+5x^4...+y*x^(y-1)  тогда рассмотрим сумму функцию  x+x^2+x^3+x^4...+x^y ее производная x+2x+3x^2+4x^2+...+yx^(y-1) значит найдя сумму x+x^2+x^3+...+x^y=(x^y-1)/(x-1) (геометрическая прогрессия) Найдя ((x^y-1)/(x-1))' и заменяя x=10 и y=k+1 Получаем (10^k*(9*k-1)+1)/81 то есть сумма 1+2*10+3*10^2+4*100^3+... вычисляется по формуле (10^k*(9*k-1)+1)/81  Подставляя в S=\frac{n-\frac{10^k \cdot (9k-1)+1}{9}}{k}+(10^{k-1}-1) = \\
 S = \frac{9n+10^k-9k-1}{9k}\\
 То есть к примеру для n=13 получаем k=2 то есть (двузначное число) откуда S=(9*13+10^2-9*2-1)/18 = 11 страниц  Для n=21 получаем k=2 подставляя S=(9*21+10^2-9*2-1)/(18)=15 страниц Как определить k можно по оценке, то есть исходя из того какое n , допустим для двузначных чисел количество цифр от 1 до 189 цифр итд 
  • Добавить свой ответ

Еще вопросы

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years