Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выбор системы счисления для числа, при заданной последней цифре 
:(
    Опции темы
Ангелочек
Дата 8.7.2006, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 17.6.2006

Репутация: нет
Всего: 2



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

Добавлено @ 19:33 
А как отредактировать заголовок? 
PM   Вверх
nworm
Дата 8.7.2006, 20:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 502
Регистрация: 22.10.2005

Репутация: 4
Всего: 8



Если особо долго не думать...
Если я правильно понял условие
1. В принципе можно перебирать основания от 2 до N.

2. Можно уравнения порешать:
N=10k+t
N=Xr+t

0=10k-Xr
10k=Xr

То есть надо найти k=N div 10. Затем факторизовать (представить k=(p1^a1)(p2^a2)...(pn^an)) и подсчитать количество возможных X=(p1^i)(p2^j)...(pn^k)*(2^a)*(5^b), где a,b либо 0 либо 1. 
PM MAIL WWW   Вверх
maxim1000
Дата 8.7.2006, 23:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 3334
Регистрация: 11.1.2003
Где: Киев

Репутация: 33
Всего: 110



Цитата(Ангелочек @  8.7.2006,  18:30 Найти цитируемый пост)
А как отредактировать заголовок?

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


--------------------
qqq
PM WWW   Вверх
Akina
Дата 10.7.2006, 00:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



В общем для заданного N определить количество возможных K таких, что

(N mod K) = (N mod 10)

Для начала желательно определиться с тем, каким может быть N (есть какое-то ограничение сверху или нет?)... 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Ангелочек
Дата 10.7.2006, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 17.6.2006

Репутация: нет
Всего: 2



Ограничений нет, рассмотреть все возможные частные случаи... smile  
PM   Вверх
skyboy
Дата 10.7.2006, 14:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Ангелочек, ведь Akina уже указал в сторону, куда копать smile 
От себя добавлю очевидное: K < N.
Берешь и делишь. А потом - сравниваешь smile 
PM MAIL   Вверх
Bulat
Дата 10.7.2006, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: нет
Всего: 57



Ну если я правильно понял(и как-то писал нечто похожее) смысл таков: Во-первых теоритечески систем исчисления может быть от 2 до N, где N - бесконечность. Соответственно нужно определить верхний предел. 

Далее конечно можно поэкспериментировать и попытатся вывести определенную закономерность, но в случае когда теоритечски существуют систем исчисления столько же сколько и чисел этим лучше не заниматься.

Значит вводим число и запоминаем последнюю цифру. Дальше потихоньку переводим это число в двоичную сравниваем последнюю цифру с тем что у нас, далее в троичную и сравнеиваем и так до N. При совпадении увеличиваем счетчик на 1. При этом конечно стоило бы навешать условия подобного рода что типа если число заканчивается на 5 то раньше чем в шестизначной системе нет смысла его сравнивать, если на 8 то раннее чем в девятизначной.

В принципе эвристика! smile  


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
skyboy
Дата 10.7.2006, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Bulat, не нужен верхний предел. Для числа 8 в какой системе счисления может быть последняя цифра 8? В 16-ричной? smile Если основание системы счисления будет больше числа, то это число в нём будет выражаться одной цифрой. Которая не будет совпадать с последней цифрой записи в десятичной системе счисления smile Это не катит только для чисел меньше 10: 3 будет выглядеть так же в любой системе счисления выше 3. И 8. И 9. Для них ответом будет бесконечное множество. А для остальных - конечное. 
PM MAIL   Вверх
nworm
Дата 10.7.2006, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 502
Регистрация: 22.10.2005

Репутация: 4
Всего: 8



Цитата(Ангелочек @ 10.7.2006,  14:18)
Ограничений нет, рассмотреть все возможные частные случаи... smile

Это хорошо. Надо делать программу, которая пишет ответ "бесконечно много" (всегда можно придумать какие-нибудь свои странные системы). 
PM MAIL WWW   Вверх
Bulat
Дата 11.7.2006, 08:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: нет
Всего: 57



Цитата(skyboy @  10.7.2006,  16:03 Найти цитируемый пост)
Bulat, не нужен верхний предел. 

Ну как не нужен, ты готов методом перебора смотреть на какую цифру закнчивается число 430125 в 16, 59, или 100456 - системе исчисления? Если на практике с этими системами исчисления никто и не сталкивается, то в теории они абсолютно уместны(допустим также как и пяти-, 20- или 143-мерное измерение smile ) Так что все же у N должен быть какой-то верхний предел.

И опять-таки сейчас ты рассматриваешь частные случаи. Я года два назад в универе писал похожую по смысле прогу:
Надо было из любой системы исчисления переводить число в любую другую систему исчисления.(и кстати предел определялся, но его устанавливал сам пользователь)

=>Тут для абсолютно всех случаев очень тяжело вывести закономерность, нужно прибегать к эвристике, а эвристика это эвристика. smile  


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
skyboy
Дата 11.7.2006, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Bulat, если число вводится/хранится как число, то предел, конечно же есть. А 430125 mod 100456 = 28301. Посчитал усно. Комп справился бы быстрее. Вообще странно говорить о необходимости ограничения при использовании операции mod и чисел до 4294967296 smile 
PM MAIL   Вверх
Bulat
Дата 11.7.2006, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: нет
Всего: 57



Я не знаю кому как, но вообще решение всегда ищется в каком-то диапозоне, множестве, причем это множество всегда является конечным в практической части(только в теории допустимо использование бесконечности). А если оно конечно, то соотв. есть верхняя грань N.

Это хоть и задача программирования, но напрямую связана с мат.анализом smile   

Это сообщение отредактировал(а) Bulat - 11.7.2006, 10:04


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
Ангелочек
Дата 11.7.2006, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 17.6.2006

Репутация: нет
Всего: 2



Покажите мне тут матанализ... 
PM   Вверх
Bulat
Дата 11.7.2006, 11:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


татарский Нео
***


Профиль
Группа: Завсегдатай
Сообщений: 1701
Регистрация: 22.3.2006
Где: Альметьевск

Репутация: нет
Всего: 57



Ангелочек, если формулировать задачу должным образом(более четкое конечно надо у преподов спрашивать)

Пусть E c индексом 10 - десятиричная система исчисления. Пусть m - некоторое число принадлежащее E(10). Необходимо определить множество M -  пересечение всех подмножеств E(k), где M принадлежит N и k<=n, где n - количество множеств N, которые удовлетворяет условию:
(m mod k) = (m mod 10) - хотя это уже не матан...  здесь в силу возможных обозначений

Типичная  задача мат. анализа smile  


--------------------
менеджер по кодеврайтингу  smile 
PM MAIL WWW   Вверх
skyboy
Дата 11.7.2006, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Bulat, x=x*2 + 30. Для решения требуется определить границу сверху? smile
Ангелочек, что с решением? Точнее - как с решением? 
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0686 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.