| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Найти основание сс в которой записано число |
| Автор: АП 26.11.2004, 00:11 |
| Даны натуральные числа n, m, неотрицательные целые числа a[m], a[m-1] a[0]такие, что a[m]a[m-1]a[0]- запись n в некоторой системе счисления (среди а[m] могут быть и числа, большие девяти, - это будет означать, что основание системы счисления заведомо больше десяти). Требуется определить основание использованной системы счисления. у кого какие идеи? |
| Автор: sergejzr 26.11.2004, 00:32 |
| Уже поздно, возможно будет гон у тебя число a[m]*x^m +a[m-1]*x^m-1+...+a[1]*x+a[0] = n отс`да наверное и плясать |
| Автор: АП 26.11.2004, 00:39 |
| а у нас в 2:42 это нужно х пролистывать ну от 2 или от маскимального а[m] до , какие, там системы счисленя бывают, 2..10+'a'..'z' и с n сравниваь |
| Автор: sergejzr 26.11.2004, 00:40 |
| Начать можем с a[m]*x^m +a[m-1]*x^m-1+...+a[1]*x = n - a[0] А потом корни полинома ищем. Хотя чего-то крутовато кажется. Может быть проще можно решить.. |
| Автор: Guest 26.11.2004, 00:47 |
| Ладно, как говорится, "Утро вечера мудрёнее" Еще подумаю, Да еще и блок-схему составить надо, какая гадость, с 6 класса их в глаза не видел. |
| Автор: sergejzr 26.11.2004, 00:53 | ||
| Если подбором, то вообще не проблема Хтото типа
|
| Автор: Akina 26.11.2004, 13:55 |
| если основание = k, то n больше k в степени m и меньше k в степени m+1. Решение архиэлементарное. Можно еще проще - k=Int((n/(a[m]))^(1/m)) |