Для решения этого задания надо знать как складываются двоичные числа: 0+0 = 0, 0+1 = 1, 1+0 = 1, 1+1 = 10. Запишем этот пример в столбик и просто подберём числа, для уверенности можно сложить эти двоичные числа, чтобы знать что мы не ошиблись. Начинаем подбирать числа с конца, т.к. при сложении в столбик мы складываем с конца. Видим складываются числа 1 и * и получается 0, это значит что под звёздочкой число 1, 1+1=10, 0 пишем 1 в запоминаем Потом складываются цифры * и * и 1 (та что мы запомнили) в ответе получается 1, значит под звёздочками 0. 0+1 = 1 Далее складывается * и 0, в ответе 0, значит под звёздочкой 0. и так далее.
Свою запись прикреплю в приложении.
ответ: 0101011001 + 1011101001 = 10001000010
P.S. Все нули, которые стоят перед первой единицей в числе, можно опустить т.к. они незначащие. То есть число 0101011001 можно записать так 101011001
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% всё меньше.
Запишем этот пример в столбик и просто подберём числа, для уверенности можно сложить эти двоичные числа, чтобы знать что мы не ошиблись. Начинаем подбирать числа с конца, т.к. при сложении в столбик мы складываем с конца.
Видим складываются числа 1 и * и получается 0, это значит что под звёздочкой число 1, 1+1=10, 0 пишем 1 в запоминаем
Потом складываются цифры * и * и 1 (та что мы запомнили) в ответе получается 1, значит под звёздочками 0. 0+1 = 1
Далее складывается * и 0, в ответе 0, значит под звёздочкой 0.
и так далее.
Свою запись прикреплю в приложении.
ответ: 0101011001 + 1011101001 = 10001000010
P.S. Все нули, которые стоят перед первой единицей в числе, можно опустить т.к. они незначащие. То есть число 0101011001 можно записать так 101011001
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% всё меньше.