110 Кбайт = 110*1024 байт
16 бит = 2 байта
Количество страниц = 110*1024 / (40*64*2) = 22
Я бы сказала калькулятор, потому что и счеты, и абак(Греция), и соробан (Китай), это устройства для счета.
Ответ упирается только в то, что требуется первые счетные устройства
#include <iostream>
using namespace std;
/*
* Сумма элементов массива
* [ 1, 2, 3] => 6
* [-5, 8, 2] => 5
*/
int arraySum(int a[], int s)
{
int ret = 0;
for (int i = 0; i < s; i++) {
ret += a[i];
}
return ret;
}
/*
* Определение, каких чисел больше в массиве.
* [-1, 2, 3] => "Положительных"
* [ 1, -2, -3] => "Отрицательных"
*/
const char* plusMinGreater(int a[], int s)
{
int plus = 0, minus = 0;
for (int i = 0; i < s; i++) {
if (a[i] > 0) plus++;
if (a[i] < 0) minus++;
}
return (plus > minus ?
"Положительных чисел больше" :
(plus < minus ?
"Отрицательных чисел больше" :
"Положителных и отрицательных поровну"));
}
/*
* Разница между максимальным и минимальным элементами.
* [5, 3, 2] => 5 - 2 = 3
*/
int maxMinDiff(int a[], int s)
{
int min = a[0], max = a[0];
for (int i = 1; i < s; i++) {
if (a[i] > max) max = a[i];
if (a[i] < min) min = a[i];
}
return max - min;
}
int main()
{
int n;
cout << "n = ";
cin >> n;
int a[n];
for (int i = 0; i < n; i++) {
cout << "Число " << i << ": ";
cin >> a[i];
}
cout << plusMinGreater(a, n) << endl
<< "Сумма: " << arraySum(a, n) << endl
<< "Разница максимального и минимального элементов: "
<< maxMinDiff(a, n) << endl;
return 0;
}
128=2^7 128^(30)=2^(210) 16=2^4 16^(60)=2^(240)
16^60+128^30-16 = 2^240+2^210-2^4
2^240= 1000..000 (2cc) (1 и 240 нулей)
2^240= 10...0 (8cc) (1 и 80 нулей)
2^210=1000....000 (2cc) 1и 210 нулей
2^4 =1000 (2cc)
выполняем действие 2^210-2^4 в 2сс и потом переводим в 8сс:
в 2сс: 2^210-2^4=111.. 110 000 (206 единиц и 4 нуля) ; переводим в 8сс:
111...110 000 (2сс) = 7777...760 (8сс) (204:3=68 семёрок, шестёрка и ноль)
ответ 68