Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.03.2013, 22:04   #1
Alexandr-
Пользователь
 
Регистрация: 04.03.2013
Сообщений: 79
По умолчанию Целочисленная арифметика

Язык Си.
Дано целое число k (1<=k<=180) и последовательность цифр 10111213...9899, в которой выписаны подряд все двузначные числа.
Определить:
a) номер пары цифр, в которую входит k-я цифра;
б) двузначное число, образованное парой цифр, в которую входит k-я цифра;
в) k-ю цифру, если известно, что:
k- четное число; k- нечетное число.
Помогите пожалуйста решить данную задачу.
Alexandr- вне форума Ответить с цитированием
Старый 10.03.2013, 22:51   #2
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

а) a = (k - 1)/2 + 1
б) b = a + 9
в) c = ((k / 2 - 1) % 10) * (k % 2 == 0) + (k / 20 + 1) * (k % 2 == 1)
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 09.10.2013, 22:31   #3
dykee
Пользователь
 
Регистрация: 09.10.2013
Сообщений: 78
По умолчанию

Здравствуйте, не могли бы вы дать формулу и объяснить задание, а то не понятно, спасибо) Дано целое число k (1<=k<=180) и последовательность цифр 10111213...9899, в которой выписаны подряд все двузначные числа. Определить k-ю цифру, если известно что k нечетное число...
dykee вне форума Ответить с цитированием
Старый 09.10.2013, 22:52   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

dykee, формула - c = ((k / 2 - 1) % 10) * (k % 2 == 0) + (k / 20 + 1) * (k % 2 == 1)
Задание: а что тут непонятного? Дана строка 10111213141516...979899. Всего 180 знаков. Нужно ответить, какая цифра стоит на к-ом месте.
Да, кстати, если k - нечетное, то формулу можно упростить:
с = k / 20 + 1
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 09.10.2013 в 23:02.
BDA вне форума Ответить с цитированием
Старый 09.10.2013, 22:54   #5
dykee
Пользователь
 
Регистрация: 09.10.2013
Сообщений: 78
По умолчанию

(1) 09.10.2013 22:54 от dykee
почему делить на 20?

(2) 09.10.2013 22:58 от dykee
k/20+1 это правильно но почему именно так?

(3) 09.10.2013 23:04 от dykee
Язык Си если что)



_________________
Не используйте форум как чат - не пишите несколько коротких сообщений подряд!
Есть что добавить - нажимайте кнопку "Правка/Редактировать" на своём крайнем сообщении
и изменяйте, добавляйте....

Прошу учесть на будущее...

Модератор.

Последний раз редактировалось Serge_Bliznykov; 10.10.2013 в 09:08.
dykee вне форума Ответить с цитированием
Старый 09.10.2013, 23:06   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Цитата:
Сообщение от dykee Посмотреть сообщение
k/20+1 это правильно но почему именно так?
Да, правда, правильно, перепроверил еще раз - сошлось.
Почему так:
Цитата:
k цифра
1 1
2 0
3 1
4 1
5 1
6 2
...
179 9
180 9
Оставим нечетные:
Цитата:
k цифра
1 1
3 1
5 1
7 1
9 1
11 1
13 1
15 1
17 1
19 1
21 2
...
177 9
179 9
Как видим, каждые 20 чисел цифра меняется.
Осталось только правильно записать формулу.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 09.10.2013, 23:10   #7
dykee
Пользователь
 
Регистрация: 09.10.2013
Сообщений: 78
По умолчанию

(1) 09.10.2013 23:10 от dykee
так с этим я понял, а теперь объясните пожалуйста смысл этого ряда 10111213...9899

(2) 09.10.2013 23:11 от dykee
извините, а можно с вами в скайпе поговорить?

(3) 09.10.2013 23:14 от dykee
можно с вами в скайпе связаться? По какому принципу нумеровать числа?



_________________
Не используйте форум как чат - не пишите несколько коротких сообщений подряд!
Есть что добавить - нажимайте кнопку "Правка/Редактировать" на своём крайнем сообщении
и изменяйте, добавляйте....

Прошу учесть на будущее...

Модератор.

Последний раз редактировалось Serge_Bliznykov; 10.10.2013 в 09:10.
dykee вне форума Ответить с цитированием
Старый 09.10.2013, 23:14   #8
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

В скайпе не могу.
Смысл ряда - именно в этом ряду цифр нужно найти k-ю, поняв зависимость.
Весь ряд: 10111213141516171819202122232425262 72829303132333435363738394041424344 45464748495051525354555657585960616 26364656667686970717273747576777879 80818283848586878889909192939495969 79899 (пробелы наставил сам форум).
Теперь пронумеруйте все цифры.

ПС Не пишите несколько сообщений подряд, а редактируйте последнее.
ПСС Когда я просил редактировать, я не имел ввиду, что Вы будете новые вопросы дописывать в свое последнее сообщение . Как только кто-то отписался, Вы снова пишете новое сообщение (просто, чтобы не было несколько сообщений подряд от одного человека - есть специальный штраф за такое деяние "даблпостинг").


Нумеровать по порядку: 1 2 3 ... 180.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 09.10.2013 в 23:38.
BDA вне форума Ответить с цитированием
Старый 09.10.2013, 23:35   #9
dykee
Пользователь
 
Регистрация: 09.10.2013
Сообщений: 78
По умолчанию

По какому принципу нумеровать числа?

Я удалю сообщения) можете мне последний раз очень доступно для чайника объяснить почему с 1 до 19 будет 1 выдавать и все я больше не потревожу

Последний раз редактировалось Serge_Bliznykov; 10.10.2013 в 09:10.
dykee вне форума Ответить с цитированием
Старый 09.10.2013, 23:53   #10
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Не удалите (нету такой функции - только модераторы смогут)
Берёте ряд цифр:
10111213141516171819202122232425
Нумеруете каждую цифру:
Код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
1 0 1 1 1 2 1 3 1 4  1  5  1  6  1  7  1  8  1  9  2  0  2  1
После нумерации видно, что если идти по нечетным номерам, то 21 цифра стала 2, а не 1.

UPD
Пожалуйста.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )

Последний раз редактировалось BDA; 10.10.2013 в 00:01.
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
целочисленная арифметика 6.5 Darkin Общие вопросы C/C++ 2 18.02.2013 14:32
Си++ Целочисленная арифметика Krieger Помощь студентам 0 15.10.2011 22:40
целочисленная арифметика Алиса_а Помощь студентам 4 06.07.2011 14:14
Целочисленная арифметика Natochka Помощь студентам 5 12.04.2011 19:48
Целочисленная арифметика Doublefaced Помощь студентам 11 22.03.2009 19:33