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

1) Сколько единиц в двоичной записи числа 4^2018+8^305-2^130-120?
2) Значение арифметического выражения 9^22+3^66-12 записали в системе счисления с основанием 3. Сколько цифр "2" содержится в этой записи?

👇
Ответ:
Даниил5702
Даниил5702
25.04.2020

1) 909 единиц (всего 4037 разрядов, полный вид двоичного  числа- смотри скрин внизу)

2) 42 цифры "2" (всего 67 разрядов, полный вид троичного числа= 1000000000000000000000022222222222222222222222222222222222222222120, смотри скрин внизу)

Примечание: вообще, это решается приведением всех степеней к одному основанию (2 или 3 -смотри основание системы счисления, в которой нужно по заданию записать число), затем представить, как будет выглядеть каждое из этих чисел в данной системе счисления, затем сложение, далее вычитание чисел (оба раза- от большего (по модулю) числа к меньшему) -тут не нужно полностью писать число, достаточно понять, сколько появится единиц/двоек между таким то и таким то разрядом, если вычесть одно из другого (тут нужно понимать, как происходит сложение/вычитание в той или иной системе счисления). Последнее слагаемое можно тоже разложить на сумму/разность нескольких степеней (например, 120 = 128 - 8 = 2^7 - 2^3  или 12 = 9 + 3 = 3^2 + 3^1 ) -и тоже представить/записать его в нужной системе счисления, после чего вычесть из предыдущего результата.


1) Сколько единиц в двоичной записи числа 4^2018+8^305-2^130-120? 2) Значение арифметического выраже
1) Сколько единиц в двоичной записи числа 4^2018+8^305-2^130-120? 2) Значение арифметического выраже
4,4(18 оценок)
Открыть все ответы
Ответ:
alenagalcheva
alenagalcheva
25.04.2020
модуль

unit SpaceLib;

interface

uses System;

const

   ch = ' ';

function MyTrimLeft(s: string): string;

function MyTrimRight(s: string): string;

function MyTrim(s: string): string;

function MySingleSpaces(s: string): string;

function MyNoSpaces(s: string): string;

implementation

function MyTrimLeft(s: string): string;

begin

   MyTrimLeft := Regex.Replace(s, '^[' + ch + ']+', '');

end;

function MyTrimRight(s: string): string;

begin

   MyTrimRight := Regex.Replace(s, '[' + ch + ']+$', '');

end;

function MyTrim(s: string): string;

begin

   s := Regex.Replace(s, '^[' + ch + ']+', '');

   MyTrim := Regex.Replace(s, '[' + ch + ']+$', '');

end;

function MySingleSpaces(s: string): string;

begin

   s := MyTrim(s);

   MySingleSpaces := Regex.Replace(s, '[' + ch + ']+', ' ');

end;

function MyNoSpaces(s: string): string;

begin

   MyNoSpaces := s.Replace(ch, '');

end;

end.


Пример

//PascalABC.NET версия 3.4.0.1677 от 17.06.18

//Если программа не запускается, то обновите версию

uses SpaceLib;

begin

   var s := '   123 123  23 4343    434 43 34    ';

   WritelnFormat('"{0}"', MyTrimLeft(s));

   WritelnFormat('"{0}"', MyTrimRight(s));

   WritelnFormat('"{0}"', MyTrim(s));

   WritelnFormat('"{0}"', MySingleSpaces(s));

   WritelnFormat('"{0}"', MyNoSpaces(s));

end.

4,6(15 оценок)
Ответ:
Bikolik27nn
Bikolik27nn
25.04.2020

var a,b,c: integer;

begin

write('Введите пятизначное число:');

readln(c);

if (c >= 10000) and (c <= 99999) then

begin

a:=c;

while a>0 do

begin

b:=b*10+a mod 10;

a:=a div 10

end;

writeln ('Вы ввели число: ',c);

write ('Переворот числа: ',b)

end

else

begin

writeln('Число не пятизначное');

writeln ('Вы ввели число: ',c)

end

end.

Или всё через if:

var a,b,c: integer;

begin

write('Введите пятизначное число:');

readln(c);

if (c >= 10000) and (c <= 99999) then

begin

a:=c;

if a>0 then

begin

b:=b*10+a mod 10;

a:=a div 10

end;

if a>0 then

begin

b:=b*10+a mod 10;

a:=a div 10

end;

if a>0 then

begin

b:=b*10+a mod 10;

a:=a div 10

end;

if a>0 then

begin

b:=b*10+a mod 10;

a:=a div 10

end;

if a>0 then

begin

b:=b*10+a mod 10;

a:=a div 10

end;

writeln ('Вы ввели число: ',c);

write ('Переворот числа: ',b)

end

else

begin

writeln('Число не пятизначное');

writeln ('Вы ввели число: ',c)

end

end.

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