М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
900901
900901
22.08.2020 22:29 •  Информатика

Рекурсивный перевод Напишите рекурсивную процедуру для перевода десятичного числа в P-ичную систему счисления.

В данной задаче запрещено использовать циклы и массивы.

Входные данные

На вход программе сначала подается значение P (1

Выходные данные

Вывод осуществляйте следующим образом: сначала выведите введённое число в десятичной системе счисления, за ним укажите его систему счисления в круглых скобках, то есть (10), затем поставьте знак "=", после чего выведете результат работы вашей программы — число в P-ичной системе счисления, за ним укажите его систему счисления в круглых скобках. Весь вывод осуществляется без пробелов.

Примеры

Ввод
3
123

Вывод

123(10)=11120(3)

👇
Ответ:
eliseevivan
eliseevivan
22.08.2020

#include <iostream>

#include <string>

using namespace std;

string fn(unsigned value, unsigned base) {

static string box;

if (!value) {

auto x = box;

box.clear();

return string(x.rbegin(), x.rend());

}

box += to_string(value % base);

value /= base;

return fn(value, base);

}

int main() {

unsigned base, value;

cin >> base >> value;

auto result = fn(value, base);

cout << value << "(10)=" << result << "("<< base << ")\n";

system("pause > nul");

}

Объяснение:

4,4(24 оценок)
Открыть все ответы
Ответ:
petrovaanastasia26
petrovaanastasia26
22.08.2020

2)

1³1²1¹1⁰.1⁻¹1⁻²₂ * 101.101₂ = 1 * 2^{-2} + 1 * 2^{-1} + 1 * 2^{0} + 1 * 2^{1} + 1 * 2^{2} + 1 * 2^{3} = 0.25 + 0.5 + 1 + 2 + 4 + 8 = 15.75 * 1 * 2^{-3} + 0 * 2^{-2} + 1 * 2^{-1} + 1 * 2^{0} + 0 * 2^{1} + 1 * 2^{2} = 0.125 + 0 + 0.5 + 1 + 0 + 4 =5.625 = 15.75 * 5.625 = 88.593

111.11₂ : 11.101₂ = 1 * 2^{-2} + 1 * 2^{-1} + 1 * 2^{0} + 1 * 2^{1} + 1 * 2^{2} = 0.25 + 0.5 + 1 + 2 + 4 = 7.75 : 1 * 2^{-3} + 1 * 2^{-2} + 1 * 2^{-1} + 1 * 2^{0} + 1 * 2^{1} = 0.125 + 0 + 0.5 + 1 + 2 = 3.625 = 7.75 : 3.625 = 2.137

Надеюсь с переводом понятно, 3 сделаю сразу.

111.11₂ * 11.111₂ = 7.75 * 3.875 = 30.031

5)

155 = Чтобы из десятичной перевести в двоичную, нужно делить на 2.

Смотри фото

0.35 = Для перевода дробной части числа последовательно умножаем дробную часть на основание 2

0.35 * 2 = 0.7

0.7 * 2 = 1.4

0.4 * 2 = 0.8

и записываем целую часть: (Сверху вниз)

010

В итоге: 155.35₁₀ = 10011011.010₂

Дальше сделаю сразу.

256.91₁₀ = 100000000.111₂

162.19₁₀ = 10100010.001₂

6)

у 16 счет немного другой: 0123456789ABCDEF  (в 10)

A = 10, B = 11, C = 12, D = 13, E = 14, F = 15

100011.101₂ = 1 * 2^{-3} + 0 * 2^{-2} + 1 * 2^{-1} + 1 * 2^{0} + 1 * 2^{1} + 0 * 2^{2} + 0 * 2^{3} + 0 * 2^{4} + 1 * 2^{5} = 0.125 + 0 + 0.5 + 1 + 2 + 0 + 0 + 0 + 32 = 36.625

теперь 35 (целая часть) : 16 (потому что надо в шестнадцатеричную систему)

смотри фото

Получаем:

23₁₆ + 0.A₁₆ = 23.A₁₆

100011.101.₂ = 23.A₁₆

Дальше сразу.

111000.11₂ = 38.С₁₆

110011.1011₂ = 33.В₁₆

7)

Сначала переведем в десятичную:

A³C²3¹F⁰.0⁻¹9⁻²₁₆ = 1 * 2^{-2} + 9 * 16^{-1} + 0 * 16^{0} + 15 * 16^{0} + 3 * 16^{1} + 12 * 16^{2} + 10 * 16^{3} = 0.03515625 + 0 + 15 + 48 + 3072 + 40960 = 44095.03515625

Переводим 44095.03515625₁₀ в двоичную:

Большое число, я сделаю онлайн, смотри фото

44095₁₀(целая часть) = 1010110000111111₂

0.03515625₁₀(дробная часть) = 0.00001001₂

Итого:

1010110000111111₂ + 0.00001001₂ = 1010110000111111.00001001₂

AC3F.09₁₆ = 1010110000111111.00001001₂

Дальше сразу.

ACF.71₁₆ = 101011001111.01110001₂

2BF.A19₁₆ = 1010111111.10100001100₂


в решении данных операций, хочу себя проверить во всём, кроме 1, 3,4. в остальных подробного решения
в решении данных операций, хочу себя проверить во всём, кроме 1, 3,4. в остальных подробного решения
в решении данных операций, хочу себя проверить во всём, кроме 1, 3,4. в остальных подробного решения
в решении данных операций, хочу себя проверить во всём, кроме 1, 3,4. в остальных подробного решения
4,4(68 оценок)
Ответ:
eduardpiterskiy
eduardpiterskiy
22.08.2020

const

 L = 1;

 H = 5;

var

 b: array [L..H, L..H] of Integer;

 i, j, imax, jmax, bmax: Integer;

begin

 Randomize;

 for i := L to H do begin

   WriteLn;

   for j := L to H do begin

     b [i, j] := Random (100);

     Write (b [i, j] :4);

   end;

 end;

 imax := 1;

 jmax := 1;

 for i := L to H do begin

   for j := L to H do begin

     if b [i, j] > b [imax, jmax] then begin

       imax := i;

       jmax := j;

     end;

   end;

 end;

 WriteLn;

 Writeln ('Максимальный элемент: b [', imax, ', ', jmax, '] = ', b [imax, jmax]);

 ReadLn;

end.


Написать программу для определения в двумерном массиве целых чисел в[5,5] максимального элемента и е
4,7(68 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ