1875 кбайт * 1024 * 8 = 15 360 000 бит
800 * 600 * (ln(256)/ln(2)) = 3840000 бит
15360000 / 3840000 = 4 страницы
Даётся 4 бита, это 2^4 = 16 вариантов (0..15)
ответ: 16
№2)
56(8), 57(8), 60(8), 61(8), 62(8), 63(8), 64(8).
47(16), 48(16), 49(16), 4A(16), 4B(16), 4C(16), 4D(16)
№3)
10111(2)=1*2^4+0*2^3+1*2^2+1*2^1+1*2^0=16+4+2+1=23(10)
156(8)=1*8^2+5*8^1+6*8^0=64+40+6=110(10)
35A(16)=3*16^2+5*16^1+10*16^0=768+80+10=858(10)
№4)
делим последовательно на основание новой системы счисления, остатки от деления выписываем, начиная с конца.
образец:
584:2=292 ост 0
292:2=146 ---- 0
146:2= 73 ---- 0
73:2= 36 ---- 1
36:2= 18 ---- 0
18:2= 9 ---- 0
9:2= 4 ---- 1
4:2= 2 ---- 0
2:2= 1 ---- 0
1:2= 0 ---- 1
584(10)=1001001000(2)
584(10)=1110(8)
584(10)=248(16)
400(10)=110010000(2)
400(10)=620(8)
400(10)=190(16)
№5)
1 0 1 0 1
+ 1 1 0 1
--------------
1 0 0 0 1 0
1 0 1 0
+ 1 0 1 0
-------------
1 0 1 0 0
№6)
14(х)=9(10)
1*x^1+4*x^0=9
x+4=9
x=5
14(5)=9(10)
#include <iostream>
#include <string>
#include <cstdlib>
#include <algorithm>
using namespace std;
typedef unsigned short int USI;
int* fillArray(string name, int s);
int maxArray(int[], int s);
bool isPrime(int);
void deleteAllEqualTo(int[], int s, int value);
float averageOfPositive(int[], int s);
void printArray(int[], int s);
bool sortByDescAbs(int i, int j) {
return abs(i) > abs(j);
}
int main() {
setlocale(LC_ALL, "Russian");
USI n;
cout << "n = ";
cin >> n;
int* z = fillArray("z", n);
int max = maxArray(z, n);
if ( isPrime(max) ) {
deleteAllEqualTo(z, n, max);
}
float avg = averageOfPositive(z, n);
cout << "среднее: " << avg << '\n';
sort(z, z + n, sortByDescAbs);
cout << "z[" << n << "]: ";
printArray(z, n);
return 0;
}
int* fillArray(string name, int s) {
int array[s];
for (int i = 0; i < s; i++) {
cout << name << "[" << i << "] = ";
cin >> array[i];
}
return array;
}
int maxArray(int a[], int s) {
int max = a[0];
for (int i = 1; i < s; i++) {
if (a[i] > max) max = a[i];
}
return max;
}
bool isPrime(int n) {
if (n < 2) return false;
if (n == 2) return true;
if (n % 2 == 0) return false;
for (int i = 3; (i*i) <= n; i += 2) {
if (n % i == 0 ) return false;
}
return true;
}
void deleteAllEqualTo(int a[], int s, int value) {
for (int i = 0; i < s; i++) {
if (a[i] == value) a[i] = 0;
}
}
float averageOfPositive(int a[], int s) {
unsigned int sum = 0,
count = 0;
for (int i = 0; i < s; i++) {
if (a[i] > 0) {
sum += a[i];
count++;
}
}
return (sum / count);
}
void printArray(int a[], int s) {
for (int i = 0; i < s; i++) {
cout << a[i] << ' ';
}
}