from random import random
n = int(input())
A = [0.0]*n
first_interval = 0
second_interval = 0
third_interval = 0
fourth_interval = 0
for i in range(n):
A[i] = random()
if 0 <= A[i] < 0.25:
first_interval += 1
elif 0.25 <= A[i] < 0.5:
second_interval += 1
elif 0.5 <= A[i] < 0.75:
third_interval += 1
else:
fourth_interval += 1
print(f'[0; 0,25) - {first_interval}\n[0,25;0,5) - {second_interval}')
print(f'[0,5; 0,75) - {third_interval}\n[0,75;1) - {fourth_interval}')
Объяснение:
Для перевода целого числа из десятичной системы в двоичную выполняем его целочисленное деление на два с сохранением остатка. Если частное больше единицы, делим его на два, снова сохраняем остаток и т.д. Как только частное станет равным 1 или 0, записываем его, а затем приписываем к нему слева остатки в порядке, обратном их получению.
56 / 2 = 28 (остаток 0)
28 / 2 - 14 (остаток 0)
14 / 2 = 7 (остаток 0)
7 / 2 = 3 (остаток 1)
3 / 2 = 1 (остаток 1)
Записываем результат. 56(10) = 111000(2)
Переводы в десятичную систему счисления выполняются путем записи числа в расширенном виде по основанию системы счисления, в которой представлено число. А далее операции выполняются в десятичной системе.
Переводы чисел между системами счисления по основаниям, кратным степеням двойки (2,4,8,16) выполняется через двоичную систему счисления, как через промежуточную. Например, при переходе от восьмеричной системы к шестнадцатиричной, мы учитываем, что
3) 77(8) = 111 111(2) = 11 1111(2) = 3F(16)
4) 57(8) = 101 111(2) = 101111(2)
5) 9A(16) = 1001 1010(2) = 10011010(2)
7) 10011(2) = 010 011(2) = 23(8)
8) 101011(2) = 0010 1011(2) = 2B(16)