С++ Здравствуйте, нужна написать код нужно использовать set
Вот задача:
Рабочая неделя состоит из n дней. У каждого работника есть график работы [x;y), (то есть работа со дня x по день y). 0-й и n-й дни недели — это одно и то же определить, будет ли каждый день в компании работать хотя бы один сотрудник ?
standard input:
3 5
0 2
2 4
3 5
standard output:
да
standard input:
3 7
0 4
2 5
6 7
standard output:
нет
Переводим целую часть 45.34(10) в 2-ую систему последовательным делением на 2:
45/2 = 22, остаток: 1
22/2 = 11, остаток: 0
11/2 = 5, остаток: 1
5/2 = 2, остаток: 1
2/2 = 1, остаток: 0
1/2 = 0, остаток: 1
45(10) = 101101(2)
Переводим дробную часть 45.34(10) в 2-ую систему:
0.34·2 = 0.68
0.68·2 = 1.36
0.36·2 = 0.72
0.72·2 = 1.44
0.44·2 = 0.88
0.34(10) = 0.01010(2)
ответ: 101101.01010(2)
Переводим целую часть 17.5(10) в 2-ую систему последовательным делением на 2:
17/2 = 8, остаток: 1
8/2 = 4, остаток: 0
4/2 = 2, остаток: 0
2/2 = 1, остаток: 0
1/2 = 0, остаток: 1
17(1)0 = 10001(2)
Переводим дробную часть 17.5(10) в 2-ую систему:
0.5·2 = 1.0
0.5(1)0 = 0.1(2)
ответ: 10001.1(2)
Переводим целую часть 97.04(10) в 8-ую систему последовательным делением на 8:
97/8 = 12, остаток: 1
12/8 = 1, остаток: 4
1/8 = 0, остаток: 1
97(10) = 141(8)
Переводим дробную часть 97.04(10) в 8-ую систему:
0.04·8 = 0.32
0.32·8 = 2.56
0.56·8 = 4.48
0.48·8 = 3.84
0.84·8 = 6.72
0.04(10) = 0.02436(8)
ответ: 141.02436(8)
Переводим целую часть 110.005(10) в 8-ую систему последовательным делением на 8:
110/8 = 13, остаток: 6
13/8 = 1, остаток: 5
1/8 = 0, остаток: 1
110(10) = 156(8)
Переводим дробную часть 110.005(10) в 8-ую систему:
0.005·8 = 0.04
0.04·8 = 0.32
0.32·8 = 2.56
0.56·8 = 4.48
0.48·8 = 3.84
0.005(10) = 0.00243(8)
ответ: 156.00243(8)
Переводим целую часть 158.34(10) в 16-ую систему последовательным делением на 16:
158/16 = 9, остаток: 14, 14 = E
9/16 = 0, остаток: 9
158(10) = 9E(16)
Переводим дробную часть 158.34(10) в 16-ую систему:
0.34·16 = 5.44
0.44·16 = 7.04
0.04·16 = 0.64
0.64·16 = 10.24, 10 = A
0.24·16 = 3.84
0.34(10) = 0.570A3(16)
ответ: 9E.570A3(16)
Переводим целую часть 306.7(10) в 16-ую систему последовательным делением на 16:
306/16 = 19, остаток: 2
19/16 = 1, остаток: 3
1/16 = 0, остаток: 1
306(10) = 132(16)
Переводим дробную часть 306.7(10) в 16-ую систему:
0.7·16 = 11.2, 11 = B
0.2·16 = 3.2
0.2·16 = 3.2
0.2·16 = 3.2
0.2·16 = 3.2
0.7(10) = 0.B3333(16)
ответ: 132.B3333(16)
Объяснение:
int ar[50] - обьявляем массив
cout > size - вводим size (ошибка - необьявленная переменная, ошибка - для cout не перегружен > )
cout first_even; --i) {
ar[i] = ar[i - 1];
} - тут скорее всего должен быть сдвиг first_even элементов на 1 позицию вправо, но код "обрезан"
ar[first_even+1] = (first_even? ar[first_even-1]+2 : ar[size-1]+2) - если элемент под номером first_even не равен 0, то элементу под номером first_even+1 присвоить значение элемента под номером
first_even-1 увеличенное на 2 (+2)
иначе присвоить ему последний элемент массива увкличенный на 2
последнии 3 строчки печатают в консоль отредактированный массив
Вывод: скорее вчего этот кусок кода производит цикличный сдвиг элементов(не правильно)