В текстовом документе в столбик записано 20 цифр(Произвольно). Нужно написать программу на языке Паскаль, которая посчитает количество единиц в этом файле
// PascalABC.NET 3.0, сборка 1076 begin var n:=ReadInteger('Число элементов массива='); var a:=ArrRandom(n,-25,25); Write('Исходный массив: '); a.Println; var k:=a.Where(x->sqr(x)>sqr(a[0])).Count; if k>0 then Writeln ('Найдено ',k,' элементов, квадрат которых больше квадрата первого') else Writeln ('Нет ни одного элемента, квадрат которого больше квадрата первого') end.
Тестовое решение: Число элементов массива=15 Исходный массив: 11 12 -11 -3 -16 -22 22 4 -4 -1 -16 -9 -19 4 16 Найдено 7 элементов, квадрат которых больше квадрата первого
Целых чисел в диапазоне от 20 до 100 -- 81. Измерения записываются независимо друг от друга, то есть на каждое измерение приходится _фиксированное_целое_ количество бит. Чтобы вместить диапазон из 81 состояний, требуется хотя бы log_2(81) бит, округляя вверх до ближайшего целого, получаем: 7.
Соответственно, 80 измерений займут объём 7*80 = 560 бит = 70 байт. ответ: 70 байт.
--- P.S. В этой задаче можно сделать следующую ошибку. Можно по ошибке посчитать число: log2 (81^80) = 507.188..., и получить ответ 508. В этой задаче важно, что результат каждого измерения записывается отдельно
begin
var n:=ReadInteger('Число элементов массива=');
var a:=ArrRandom(n,-25,25);
Write('Исходный массив: '); a.Println;
var k:=a.Where(x->sqr(x)>sqr(a[0])).Count;
if k>0 then Writeln
('Найдено ',k,' элементов, квадрат которых больше квадрата первого')
else Writeln
('Нет ни одного элемента, квадрат которого больше квадрата первого')
end.
Тестовое решение:
Число элементов массива=15
Исходный массив: 11 12 -11 -3 -16 -22 22 4 -4 -1 -16 -9 -19 4 16
Найдено 7 элементов, квадрат которых больше квадрата первого
Измерения записываются независимо друг от друга, то есть на каждое измерение приходится _фиксированное_целое_ количество бит.
Чтобы вместить диапазон из 81 состояний, требуется хотя бы log_2(81) бит, округляя вверх до ближайшего целого, получаем: 7.
Соответственно, 80 измерений займут объём 7*80 = 560 бит = 70 байт.
ответ: 70 байт.
---
P.S. В этой задаче можно сделать следующую ошибку.
Можно по ошибке посчитать число: log2 (81^80) = 507.188..., и получить ответ 508. В этой задаче важно, что результат каждого измерения записывается отдельно