Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/21: Рейтинг темы: голосов - 21, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 02.01.2020
Сообщений: 3
1

Олимпиадная задачка на C++ (или на Python)

02.01.2020, 20:36. Показов 4008. Ответов 5

Author24 — интернет-сервис помощи студентам
Помогите решить задачку!

Кроме слежки за офисом из окна своего дома, летом Вася читал книжку. Чтобы читать было не так скучно, он попутно считал количество цифр, требуемых для нумерации всех страниц в книге. В результате получилось N цифр.

Вася помнит, что на первых трех страницах книги номера не стоят, а пронумерованные страницы начинаются с 4-й (при этом на этой 4-й странице стоит номер 4, на следующей — 5, и так далее).

Теперь Вася задается вопросом, сколько же всего страниц было в прочтённой им книжке.

Входные данные
Вводится одно натуральное число N (1≤N≤10000 ) — количество цифр, которое потребовалось для нумерации страниц книги.

Выходные данные
Выведите количество страниц в книге. Гарантируется, что Вася не ошибся в подсчетах, и ответ всегда существует.

Примеры
входные данные
1
выходные данные
4
входные данные
2
выходные данные
5
входные данные
3
выходные данные
6
входные данные
10
выходные данные
11
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.01.2020, 20:36
Ответы с готовыми решениями:

Олимпиадная задачка на C++ (или на Python)
Решаю олимпиадную задачку. Вот текст Числовая последовательность называется пилообразной если...

олимпиадная задачка
На доске наклеено несколько листов объявлений. Все они прямоугольной формы. Некоторые письма...

Олимпиадная задачка
cut Помогите пожалуйста, напишите программу на C++. Входной файл: input.txt Выходной файл:...

Олимпиадная задачка
суть задачи в том что машина едет только прямо и напрво,изначально смотрит как бы вверх, и ей надо...

5
863 / 513 / 215
Регистрация: 19.01.2019
Сообщений: 1,216
03.01.2020, 00:56 2
Лучший ответ Сообщение было отмечено Blablajka как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <math.h>
 
uint64_t foo(uint64_t n){
    uint64_t i(1), j(9), res(0);
    for (; j * i <= n; j *= 10, ++i){
        n -= j * i;
        res += j;
    }
    return res + ceil(double(n) / i);
}
 
int main()
{
    uint64_t n;
    std::cin >> n;
    std::cout << foo(n + 3);
    return 0;
}
2
716 / 676 / 110
Регистрация: 29.05.2015
Сообщений: 4,079
03.01.2020, 02:20 3
Цитата Сообщение от Blablajka Посмотреть сообщение
Кроме слежки за офисом из окна своего дома, летом Вася читал книжку. Чтобы читать было не так скучно, он попутно считал количество цифр, требуемых для нумерации всех страниц в книге. В результате получилось N цифр.
Поясните для бестолкового. Количество цифр, требуемых для книги размером 123 страницы равно 3. Количество цифр для книги размером 987 страниц тоже 3. О чём задача?
1
863 / 513 / 215
Регистрация: 19.01.2019
Сообщений: 1,216
03.01.2020, 02:41 4
alexu_007, 123 страницы это 24 * 3 + 90 * 2 + 9 цифр.
1
466 / 337 / 134
Регистрация: 18.07.2017
Сообщений: 1,478
03.01.2020, 13:12 5
Цитата Сообщение от nalbe666 Посмотреть сообщение
123 страницы это 24 * 3 + 90 * 2 + 9 цифр.
-3, которые не печатаются
0
716 / 676 / 110
Регистрация: 29.05.2015
Сообщений: 4,079
04.01.2020, 00:42 6
Спасибо, теперь понятно.
0
04.01.2020, 00:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.01.2020, 00:42
Помогаю со студенческими работами здесь

Олимпиадная задачка
Мальчик Вася, чтобы попасть к себе домой на 10-й этаж, сначала поднимается до 7-го, а потом идет 3...

Олимпиадная задачка (B-lvl)
Здравствуйте! Объясните пожалуйста как работает алгоритм: #include&lt;bits/stdc++.h&gt; using namespace...

Олимпиадная задачка, язык неважен
Бесконечная прямоугольная таблица заполняется целыми числами, начиная с 1 по диагоналям с...

Олимпиадная задачка. Мощности источников
Всем доброго времени суток! Помогите решить задачку, а то все мозги уже сломал :wall: Условие: ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru