Сканируется цветное изображение размером 22,86×22,86 дюйм. Разрешающая сканера — 1200×1200 dpi, глубина цвета — 24 бита. Какой информационный объём будет иметь полученный графический файл? Я ТУПОЙ
// PascalABC.Net 3.0, сборка 1052 const nn=100; var i,n:integer; a:array[1..nn] of integer; p:real; begin Write('Количество элементов в массиве: '); Read(n); Writeln('Исходный массив'); for i:=1 to n do begin a[i]:=Random(51)-25; Write(a[i],' ') end; Writeln; p:=1; Writeln('Нечетные элементы:'); for i:=1 to n do begin if a[i]<0 then p:=p*a[i]; if a[i] mod 2 <> 0 then Write(a[i],' ') end; Writeln; Writeln('Произведение отрицательных элементов: ',p) end.
1. В системе счисления по основанию n для числа, заканчивающегося цифрой 4, будет верно Конечно, можно такое уравнение решить методом подбора, но это неэффективно. Минимальное четырехзначное число в системе счисления по любому основанию n записывается как 1000 и оно равно n³. Найдем это n для случая, когда наше число 256 станет четырехзначным: n=∛256 ≈ 6.35. Следовательно, n не может быть меньше 7. Вспомним, как мы переводим число из десятичной системы счисления в систему по основанию n. Мы делим наше число "в столбик" на основание системы n, потом записываем остаток, частное снова делим... А в конце к результату приписываем остатки в обратном порядке. Последней цифрой числа буде как раз остаток от первого деления. А у нас по условию он равен 4. Т.е. когда мы разделим 256 на n, то остаток будет равен 4. Тогда число на 4 меньшее, чем 256, должно делиться на n нацело. Начинаем работать с числом 265-4=252. Разложим его на простые множители: 256=1х2х2х3х3х7. Мы выше отметили, что основание системы n не может быть меньше 7. А у нас как раз есть семерка среди делителей. Попробуем перевести 256 в систему счисления по основанию 7: 256 / 7 = 36, остаток 4 (кто бы сомневался!) 36 / 7 = 5, остаток 1. Записываем результат: 514₇ И проверяем наше самое первое уравнение. 5х7²+1х7¹+4=5х49+7+4=245+11=256₁₀. ответ: минимально возможное основание системы счисления- 7
2. 100₇+х=230₅ Поскольку про систему счисления х ничего не сказано, считаем, что она десятичная. Переводим все в десятичную систему и решаем уравнение. 100₇=1х7²=49; 230₅=2х5²+3х5=50+15=65; 49+х=65 ⇒ х=65-49=16 ответ: х=16
3. Вспоминаем написанное в первой задаче. Если число в некоторой системе счисления оканчивается на 5, то оно дает 5 в остатке при делении на основание этой системы счисления. Тогда числа 56-5=51 и 124-5=119 должны делиться нацело на основание системы счисления. 51=1х3х17; 119=1х7х17 НОД обоих чисел равен 17 - это и есть основание системы счисления. ответ: основание системы счисления равно 17
4. Определение количества единиц в двоичной записи числа
Число 2³⁰⁴² в двоичной системе будет представляться единицей с 3042 нулями. Число 2⁵³⁰ - соответственно единицей с 530 нулями. Вполне понятно, что последние 530 нулей в результате так нулями и останутся. А вот из 531-го справа нуля нужно будет вычитать единицу. как всегда, придется "занимать" единичку из старших разрядов. Для понимания происходящего рассмотрим более короткий пример: 1000000 - 1000 -------------- 111000 Мы видим, что начиная с позиции единичного разряда в вычитаемом слева каждый ноль заменился на единицу. В нашем случае в позициях с 531 по 3042 появятся единицы. Их будет 3042-531+1=2512. Осталось вычесть из результата 12₁₀=1100₂. Тоже посмотрим на "коротком" примере: 100000000 - 1100 ----------------- 11110100 В исходном числе была одна единица, а в результате их стало на три меньше, чем было нулей. У нас нулей было 530, следовательно, вместо них станет 530-3=527 единиц А всего в числе будет 2512+527-1=3038 единиц. Почему отняли одну? Мы ведь для второго вычитания должны были единичку "занять". Вот и получился среди единичек в далеком 531-м разряде ноль. ответ: 3038 единиц
const
nn=100;
var
i,n:integer;
a:array[1..nn] of integer;
p:real;
begin
Write('Количество элементов в массиве: '); Read(n);
Writeln('Исходный массив');
for i:=1 to n do begin
a[i]:=Random(51)-25;
Write(a[i],' ')
end;
Writeln;
p:=1;
Writeln('Нечетные элементы:');
for i:=1 to n do begin
if a[i]<0 then p:=p*a[i];
if a[i] mod 2 <> 0 then Write(a[i],' ')
end;
Writeln;
Writeln('Произведение отрицательных элементов: ',p)
end.
Тестовое решение:
Количество элементов в массиве: 20
Исходный массив
-18 -9 18 15 7 -20 -4 18 -24 -6 -24 2 -3 -10 12 -4 19 4 0 -17
Нечетные элементы:
-9 15 7 -3 19 -17
Произведение отрицательных элементов: -91371110400
Конечно, можно такое уравнение решить методом подбора, но это неэффективно.
Минимальное четырехзначное число в системе счисления по любому основанию n записывается как 1000 и оно равно n³. Найдем это n для случая, когда наше число 256 станет четырехзначным: n=∛256 ≈ 6.35.
Следовательно, n не может быть меньше 7.
Вспомним, как мы переводим число из десятичной системы счисления в систему по основанию n. Мы делим наше число "в столбик" на основание системы n, потом записываем остаток, частное снова делим... А в конце к результату приписываем остатки в обратном порядке. Последней цифрой числа буде как раз остаток от первого деления. А у нас по условию он равен 4. Т.е. когда мы разделим 256 на n, то остаток будет равен 4. Тогда число на 4 меньшее, чем 256, должно делиться на n нацело. Начинаем работать с числом 265-4=252.
Разложим его на простые множители: 256=1х2х2х3х3х7. Мы выше отметили, что основание системы n не может быть меньше 7. А у нас как раз есть семерка среди делителей. Попробуем перевести 256 в систему счисления по основанию 7:
256 / 7 = 36, остаток 4 (кто бы сомневался!)
36 / 7 = 5, остаток 1.
Записываем результат: 514₇
И проверяем наше самое первое уравнение.
5х7²+1х7¹+4=5х49+7+4=245+11=256₁₀.
ответ: минимально возможное основание системы счисления- 7
2. 100₇+х=230₅
Поскольку про систему счисления х ничего не сказано, считаем, что она десятичная. Переводим все в десятичную систему и решаем уравнение.
100₇=1х7²=49; 230₅=2х5²+3х5=50+15=65;
49+х=65 ⇒ х=65-49=16
ответ: х=16
3. Вспоминаем написанное в первой задаче. Если число в некоторой системе счисления оканчивается на 5, то оно дает 5 в остатке при делении на основание этой системы счисления. Тогда числа 56-5=51 и 124-5=119 должны делиться нацело на основание системы счисления.
51=1х3х17; 119=1х7х17
НОД обоих чисел равен 17 - это и есть основание системы счисления.
ответ: основание системы счисления равно 17
4. Определение количества единиц в двоичной записи числа
Число 2³⁰⁴² в двоичной системе будет представляться единицей с 3042 нулями. Число 2⁵³⁰ - соответственно единицей с 530 нулями. Вполне понятно, что последние 530 нулей в результате так нулями и останутся. А вот из 531-го справа нуля нужно будет вычитать единицу. как всегда, придется "занимать" единичку из старших разрядов. Для понимания происходящего рассмотрим более короткий пример:
1000000
- 1000
--------------
111000
Мы видим, что начиная с позиции единичного разряда в вычитаемом слева каждый ноль заменился на единицу. В нашем случае в позициях с 531 по 3042 появятся единицы. Их будет 3042-531+1=2512.
Осталось вычесть из результата 12₁₀=1100₂. Тоже посмотрим на "коротком" примере:
100000000
- 1100
-----------------
11110100
В исходном числе была одна единица, а в результате их стало на три меньше, чем было нулей. У нас нулей было 530, следовательно, вместо них станет 530-3=527 единиц
А всего в числе будет 2512+527-1=3038 единиц. Почему отняли одну? Мы ведь для второго вычитания должны были единичку "занять". Вот и получился среди единичек в далеком 531-м разряде ноль.
ответ: 3038 единиц