С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
neske
1505 / 872 / 84
Регистрация: 26.03.2010
Сообщений: 2,987
#1

Определить, какая цифра стоит на заданном месте в последовательности - C++

09.12.2011, 23:18. Просмотров 1201. Ответов 16
Метки нет (Все метки)

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

первая, это когда все числа начинают выписывать в ряд (123456789101112123.. и т.д.) и нужно узнать, какая цифра стоит на i - том месте.
и вторая, это когда окружность, для простоты пирог круглой формы, начинают разрезать по диаметру, и нужно узнать, сколько максимально можно получить кусков за n разрезов.

спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2011, 23:18
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Определить, какая цифра стоит на заданном месте в последовательности (C++):

Как определить на четном или нечетном месте стоит цифра в числе? - C++
Как определить на четном или нечетном месте стоит цифра в числе? Не могу понять как определить это, если убирать по одной цифре в конце в...

Определить, какая цифра в заданном числе встречается чаще других - C++
Дано натуральное число. Определить, какая цифра в этом числе встречается чаще других. Помогите плс с решением-))заранее спс

Определить, какая цифра расположена в заданном числе левее: максимальная или минимальная - C++
Дано натуральное число, в котором все цифры различны. Определить, какая цифра расположена в нем левее: максимальная или минимальная....

Использование условного оператора. Определить, какая цифра встречается в заданном числе чаще: 0 или 9 - C++
Дано натуральное число. Определить какая цифра встречается чаще: 0 или 9

Дано целое k от 1 до 180. Определить, какая цифра находится в k-ой позиции последовательности - C++
Товарищи, задача такая: Дано целое k от 1 до 180. Определить, какая цифра находится в k-ой позиции последовательности 10111213....9899 в...

Определить, какая цифра находится в заданной позиции в последовательности степеней десятки - C++
Ограничение времени: 1.0 секунды Ограничение памяти: 16 МБ Представим себе бесконечную последовательность цифр, составленную из...

16
alkagolik
Заблокирован
09.12.2011, 23:28 #2
судя по длине числа испльзуется массив, предположу что можно использовать memcpy для
Цитата Сообщение от neske Посмотреть сообщение
какая цифра стоит на i - том месте.
надо подробней.
Цитата Сообщение от neske Посмотреть сообщение
сколько максимально можно получить кусков за n разрезов.
2n
1
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
09.12.2011, 23:29 #3
Насчет второй, точно по диаметру?

Не по теме:

Читал похожую задачу. Там можно любым образом провести n прямых, в этом и уловка задачи

1
neske
1505 / 872 / 84
Регистрация: 26.03.2010
Сообщений: 2,987
09.12.2011, 23:32  [ТС] #4
alkagolik, я не понял, что подробнее? решение в лоб не пройдет.

AncinetHero, да, вы правы, это я не верно написал, n прямых.
0
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
09.12.2011, 23:33 #5
Ко второй задаче ответ выражается формулой
C++
1
n*(n+1)/2+1
Алгоритм кажется такой.

Для получения максимального ответа каждую следующую прямую мы будем проводить так, чтобы она пересекала все предыдущие, а значит если было проведено i прямых, наша прямая пройдет через i частей, значит количество станет равно +i (каждую часть она поделит на 2 части, всего из i частей станет 2*i частей).
И так далее, арифметическая прогрессия.
То есть если у нас проведена 1 прямая, max кусков 1+1=2. Если 2 прямых, кусков 2+2=4. Если 3 прямых, кусков 4+3=7 и т.д.
1
neske
1505 / 872 / 84
Регистрация: 26.03.2010
Сообщений: 2,987
09.12.2011, 23:35  [ТС] #6
а само решение не помните?
0
alkagolik
Заблокирован
09.12.2011, 23:38 #7
допустим разрядность m числа x, надо узнать цифру y из разряда n <= m.
y = ( x / 10 ^ (m - n) ) mod 10

Добавлено через 1 минуту
Цитата Сообщение от neske Посмотреть сообщение
я не понял, что подробнее?
длина числа, тип массива. Это длинная арифметика?
1
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 2
Завершенные тесты: 1
09.12.2011, 23:40 #8
в 1 задаче пару ифов и моды... решал когда-то
1
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
09.12.2011, 23:40 #9
Решение вписал выше.
1
neske
1505 / 872 / 84
Регистрация: 26.03.2010
Сообщений: 2,987
09.12.2011, 23:46  [ТС] #10
а вы точно так поняли задачу?
к примеру имеется строка, ну или массив с цифрами, в принципе неважно.
s = 1234567891011121314..
и на 13 месте стоит единица.
а нам необходимо найти на i - том месте.
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 2
Завершенные тесты: 1
09.12.2011, 23:49 #11
ограничения?
0
alkagolik
Заблокирован
09.12.2011, 23:52 #12
Цитата Сообщение от neske Посмотреть сообщение
к примеру имеется строка, ну или массив с цифрами, в принципе неважно.
принципиально важно. длинная арифметика в uint - 10 разрядов, есть смысл скопировать нужные байты с помощью memcpy и вычислить число по формуле
0
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
09.12.2011, 23:52 #13
Цитата Сообщение от Dani Посмотреть сообщение
ограничения?
1 <= N <= 10^4 скорее всего)
0
Dani
1393 / 637 / 57
Регистрация: 11.08.2011
Сообщений: 2,295
Записей в блоге: 2
Завершенные тесты: 1
09.12.2011, 23:54 #14
когда я решал было 1 - 10^9
0
AncinetHero
49 / 49 / 3
Регистрация: 22.05.2011
Сообщений: 326
10.12.2011, 00:01 #15
Цитата Сообщение от alkagolik Посмотреть сообщение
принципиально важно. длинная арифметика в uint - 10 разрядов, есть смысл скопировать нужные байты с помощью memcpy и вычислить число по формуле
А откуда вы взяли эту формулу? Где можно прочитать про вывод данной формулы?
0
10.12.2011, 00:01
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.12.2011, 00:01
Привет! Вот еще темы с ответами:

Определить, какая цифра находится в k-ой позиции последовательности, где выписаны подряд все двузначные числа - C++
Помогите пожалуйста.. Совсем не могу разобраться что к чему...Спасибо дано целое число k. определить какая цифра находиться в k-ой...

По заданым N и K найти какая цифра будет стоять N-ой строке на K-ом месте и вывести её - C++
Ограничения по времени: 2 секунды Ограничения по памяти: 256 megabytes Строки (цепочки цифр) создаются по следующему правилу. Первая...

Задано трицифровое число. Определить, какая цифра в нем... - C++
Задано трицифровое число. Определить, какая цифра в нем есть большей – первая или последняя. Технические условия Входные...

Определить, какая цифра числа встречается чаще: 0 или 9 - C++
Надо сделать четыре задачи, с использованием библиотеки # include &lt;iostream&gt; using namespace std; int main(void) 1. Дано...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.