begin var arr := ArrRandomReal(ReadInteger('N ='), 0, 1); writeln('[0; 0.25): ', arr.Where(x->(x>=0) and (x<0.25)).Count); writeln('[0.25; 0.5): ', arr.Where(x->(x>=0.25) and (x<0.5)).Count); writeln('[0.5; 0.75): ', arr.Where(x->(x>=0.5) and (x<0.75)).Count); writeln('[0.75; 1): ', arr.Where(x->(x>=0.75) and (x<1)).Count); end.
Можете её запускать при разных N. У меня получилось так (четыре числа - число попавших в интервал): N = 10. 3, 1, 2, 4 N = 100. 21, 29, 21, 29 N = 1000. 272, 240, 241, 247 N = 10000. 2588, 2383, 2464, 2565
Результаты могут отличаться (массив из случайных чисел генерируется, всё-таки), но тенденция должна быть такой: в каждый интервал должны попадать примерно четверть всех точек, притом с увеличением N отклонение доли попавших в тот или иной полуинтервал должно отклоняться от 25% всё меньше.
35 минут=2100 секунд 40 Мбайт=40*2^23 бит =5*2^26 бит -------------------- t1=5*2^26 : 2^18 = 5*2^8=5*256=1280 c (из Б в В) t2=5*2^26 : 2^19 = 5*2^7=5*128=640 c (из А в Б) 1280+640=1920<2100 t=2100-1920=180c
Var ar:array[1..10] of integer; i,s:integer; begin; for i:=1 to 10 do readln(ar[i]); writeln('OK:'); for i:=1 to 10 do if (i mod 2=0) and (ar[i] mod 2=0) then writeln(ar[i]); <span>end.</span>