Andreevich
?>

1)переведите четверичное число 2310(четверичную систему сч.) в десятичную систему счисления 2)переведите семеричное число 116(семиричную систему сч.) в десятичную систему счисления 3)переведите десятичное число 26(в десятичную систему сч.) в систему счисления с основанием 7

Информатика

Ответы

Struev730
1)2*4^3+3*4^3+1*4^3+0*4^0=180 ответ 180 2)1*7^2+1*7^1+6*8^0=62 ответ 62 3)26=7*3+ 5 3=7*0+ 3подчёркнутые цифры записываем в обратном порядке ответ: 35
POMILEVAVladimirovna269

Воть

Объяснение:

Это ж всё брутфорс, это ж несерьезно :)

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

350214х = 11892410

Это означает, что

3x5 + 5x4 + 0x3 + 2x2 + 1x + 4 = 11892410

или

3x5 + 5x4 + 2x2 + x – 118920 = 0

Классический многочлен пятой степени. И теперь нужно решить полиномиальное уравнение. По основной теореме алгебры у него будет пять комплексных корней, нас, правда, интересует только действительный, хорошо бы положительный, и хорошо бы целый :)

Из теоремы Абеля-Руффини известно, что аналитически мы такое уравнение не решим в общем случае, но я бы даже и пробовать не стал: на то придуманы численные методы, которых всяких есть многатыщ — выбрать можно по вкусу, начиная хоть с метода товарища Ньютона. Решаем, и получаем:

x = 8

Хорошо и красиво. Ну можете еще добить преподавателя комплексными корнями, сказав, что это же число записывается точно так же в системе счисления с основанием (-7.07949 - 4.865i) :)

поделиться улучшить этот ответ отслеживать

ответ дан

17 сен '11 в 11:58

Ali

2,109●88 серебряных знаков●1010 бронзовых знаков изменён

17 сен '11 в 12:17

получается только перебор? очень жалко что другого метода нет...))а "Это ж всё брутфорс, это ж несерьезно :)" - это как понять? чет не вкурил к чему это! ))) ну ладно + – Евгений536 17 сен '11 в 12:09

1

Я к тому, что другие ответы были про перебор. И это правильно, вообще-то, потому как перебрать десяток оснований легче, чем решить полином пятой степени. – Ali 17 сен '11 в 12:10

2

Не брутфорс, можно сделать бинарный поиск по X! :) – Михаил М 19 авг '13 в 14:27

добавить комментарий

голос «за»

4

голос «‎против»

Что бы перевести число с какой то системы счисления с основой Х в десятичную, нужно делать так: 1) начальная сумма 0 2) текущая цифра - самая первая 3) текущую сумму умножаем на основу Х 4) добавляем текущую цифру к сумме. 5) если справа ещё есть цифры - к пункту 3 иначе выход Так как вручную проверять все это лень, пишется небольшая программа, к примеру на питоне

def r(x):

return (((((3 * x + 5) * x + 0) * x + 2) * x + 1) * x + 4)

for i in range(6,10):

print i, r(i)

Начинаем с 6, так как все цифры в заданном числе точно меньше 6 и это будет минимально возможная основа. А верхняя 9, так как "визуально" число в системе счисления Х больше его записи в десятичной форме.

и конечный ответ - 8.

fshevxuzheva313

ответ: Только не точь в точь, а то за это бан)

#include <iostream>

#include <vector>

#include <cstdint>

using namespace std;  template <class T>

istream& operator>>(istream &in, vector<T> &vec) {   for (auto &it : vec)     in >> it;   return in;

}

template <class T>

ostream& operator<<(ostream &out, vector<T> &vec) {   for (auto &it : vec)     out << it << ' ';   return out;

}  

template <class T, class U>

istream& operator>>(istream &in, pair<T, U> &pair){

  in >> pair.first >> pair.second;   return in;

}  

template <class T, class U>

ostream& operator<<(ostream &out, pair<T, U> &pair) {   out << pair.first << ' ' << pair.second;   return out;

}

signed main(void) {     int32_t n; cin >> n;     vector<vector<int64_t>> a(n, vector<int64_t>(n,-1));      

int64_t x = 0, y = n/2;      

a[x][y] = 1;      

for(int32_t i = 2; i <= n*n; ++i) {        

int _x = x, _y = y;          

if(!x) {              

x =  n-1;          

}else {              

x-=1;        

}          

if(y == n-1){            

y = 0;          

}else {            

y++;          

}          

if(a[x][y] != -1){            

 x= _x, y = _y;              

 while(a[x][y] != -1){                  

 if(x == n-1){                    

  x = 0;                  

  }else{                      

  x++;                  

  }            

 }          

}          

a[x][y] = i;      

}      

for(int32_t i = 0; i < n; ++i){          

cout << a[i] << '\n';      

}      

return 0;  

}

У вас есть 4-ая? Я щас создам вопрос!

Если , оцени)

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

1)переведите четверичное число 2310(четверичную систему сч.) в десятичную систему счисления 2)переведите семеричное число 116(семиричную систему сч.) в десятичную систему счисления 3)переведите десятичное число 26(в десятичную систему сч.) в систему счисления с основанием 7
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Yurok9872
pelagia-kola2658
elenalukanova
Федор_Рауф1592
annapiskun1
zakaz
Columbia777
Бражинскене_Алексей
rikki07834591
Николаевна Филиппов1936
Bulanova
Pashinov
iburejko7
Vasilii1891
jenn055