<h2>
Задача 1.</h2><h3>
Дано:</h3>
w (ширина) = 512
h (высота) = 512
N (кол-во цветов) = 256
___________________
I (кол-во видеопамяти)- ?
<h3>Решение.</h3>
K - кол-во пикселей; i - информационный вес одного пикселя
2²¹ бит = 2¹⁸ байт = 2⁸ кБайт = 256 кБайт
Ответ: 256 кБайт.
<h2>
Задача 2.</h2><h3>
Дано:</h3>
w (ширина) = 1024
h (высота) = 768
N (кол-во цветов) = 16777216
___________________
I (кол-во видеопамяти)- ?
<h3>Решение.</h3>
K - кол-во пикселей; i - информационный вес одного пикселя
9 * 2²¹ бит = 9 * 2¹⁸ байт = 9 * 2⁸ кБайт = 2.25 мБайт
Ответ: 2.25 мБайт.
<h2>Задачу 3 оставлю здесь:</h2>
znanija.com/task/27410968
//Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23506 for x64
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
string str = "Hello wordl";
string to_replace, word, result;
stringstream ss( str );
cin >> to_replace;
while (ss >> word)
{
if (word.find(to_replace) != string::npos)
{
word = "...";
}
result += word + " ";
}
cout << result << endl;
}
А переводишь в двоичную с\с =11110111
в тоже самое в двоичную с\с= 11111001
и смотришь какое подходит
ответ 4, проверяй))
<h3>PascalABC.NET 3.4.2, сборка 1863 от 10.11.2018</h3><h3>Внимание! Если программа не работает, обновите версию!</h3>
function Conv(s: string): string;
begin
var d := s.ToCharArray;
var (i, found) := (d.High, False);
while i >= 1 do
if d[i] > d[i - 1] then
begin
found := True;
break
end
else i -= 1;
if found then
begin
s := s[:i];
var c := d[i - 1];
d := d[i - 1:];
d.Sort;
var j := d.IndexOf(c) + 1;
s += (d[j] + d?[:j] + d?[j + 1:]).JoinIntoString
end
else s := '-';
Result := s
end;
begin
var ms := Arr('1890', '83849', '126631', '146531', '32749972');
foreach var s in ms do
Conv(s).Println
end.
<h2>1908</h2><h2>83894</h2><h2>131266</h2><h2>151346</h2><h2>32772499</h2>