Имеется два запоминающих устройства: одно ёмкостью 2048 Кбайт, другое - 2048 байт. Укажите суммарную ёмкость обоих устройств в Кбайтах. В ответе запишите только число.
Var a: array of integer; // Объявление массива целых чисел i, n: integer; // объявление целочисленных переменных begin // Запросим с клавиатуры размер массива // и запишем его в переменную n write('введите n:'); readln(n);
// Теперь выделим память под n элементов массива SetLength(a, n);
// теперь запросим с клавиатуры n чисел для массива for i := 0 to n-1 do begin write('a[', i, ']='); readln(a[i]); end;
// теперь в цикле уменьшим каждый элемент на единицу for i := 0 to n-1 do a[i] := a[i] - 1;
// распечатаем массив for i := 0 to n-1 do write(a[i], ' '); end.
Деление до конца без штрафов возможно, если количество орехов в кучке будет какой-либо степенью двойки (2, 4, 8, 16, 32, 64, 128, 256, 512). Число 769 - нечетно, следовательно, его можно представить <четное>+<нечетное>. При делении 768+1 получим первый штраф. Число 768 не является степенью двойки, поэтому необходимо опять поделить орехи на неравные кучки: 512+256 (второй штраф). 512 и 256 - степени двойки, значит дальнейшее разделение можно выполнить без штрафов. Можно делить, например, так: 1. 512 и 257 орехов (штраф 1 рубль) 2. 257 делим на 2 кучки: 256 и 1 (штраф 1 рубль) 3 и все следующие операции: кучки из 512 и 256 орехов делим на равные кучки (512: 256 и 256, 256: 128 и 128, 128: 64 и 64, 64: 32 и 32, 32: 16 и 16 и т.д.). Получаем, что минимальная сумма штрафа = 2 рубля.
1 ЗУ 512 Кб2 ЗУ 2 Мб = 2048 Кб Итого: 512 + 2048 = 2560 Кб
Объяснение Вроде так