ValeraSmirnov213123
17.11.2021 17:16

Мальчик Лёша, ученик 3го курса, очень хотел много денег, и поэтому вместо того, чтобы делать домашнее задание в университете, он много работал. Но вот его отчислили, и у него появилось ещё больше свободного времени! Он узнал у своего друга о том, что очень много зарабатывают строители, но так как у Лёши не было высшего образования, ему предложили работу укладчика дороги. Лёша выложил часть дороги, начиная с указателя на A-й километр до указателя на B-й километр. Затем Лёша взял новый грузовик с щебнем и выложил ещё часть дороги, начиная с указателя на C-й километр до указателя на D-й километр, при этом часть дороги могла быть покрыта дважды (так как у мальчика нет высшего образования, то его начальник мог заставить переделать какой-то из участков дороги). Кроме того Лёша мог выкладывать дорогу как справа налево, так и слева направо — свобода выбора.

Напишите программу, вычисляющую общую длину уложенной дороги.

Формат ввода

Первая строка ввода содержит четыре натуральных числа A,B,C и D, разделенных пробелами (1 ≤ A,B,C,D ≤ 109) — номера километров дороги, которую укладывал Лёша.

Формат вывода

Вывести одно целое число — общую длину уложенной дороги.

Пример 1
Ввод: 1 2 6 4; вывод: 3
Пример 2
Ввод: 1 6 2 4; вывод: 5

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
kNoPoCHkA96
03.06.2021 00:31
Нужно, чтобы при выводе переменная a = 4, b = 0. Алгоритм работает так: к "a" прибавляет единицу при условии, что оно четное, к "b", если нечетное. Поэтому нужно найти число, которое четырехзначное и четное, учитывая, что после каждого прогона цикла, число делят на 10, то есть "отсекают" последнюю цифру числа.

У меня получилось минимальное - 2000.

1)
c = 2000 mod 2;
c = 0 -> a = 0 + 1.
x = 2000 div 10.
2) c = 200 mod 2;
c = 0 -> a = 1 + 1.
x = 200 div 10.
3) c = 20 mod 2.
c = 0 -> a = 2 + 1.
x = 20 div 10.
4) c = 2 mod 2.
c = 0 -> a = 3 + 1.
x = 2 div 10.

Итого на выводе получаем (4 0), что и нужно было.
0,0(0 оценок)
Ответ:
kuleminaIV
11.05.2022 00:43
0000 0001 0101 0001₂  = 151₁₆ = 1×16²+5×16+1 = 256+80+1 = 337₁₀
Это прямой код числа, поскольку самый старший (левый) разряд равен нулю.

1111 1111 1100 1000 - это дополнительный код отрицательного числа, поскольку старший разряд единичный. Далее мы этот разряд не рассматриваем.
а) Инвертируем разряды
000 0000 0011 0111
б) Прибавляем к полученному числу единицу
000 0000 0011 1000
в) Переводим в десятичную систему и снабжаем знаком "минус"
-38₁₆ = -(3×16+8) = -56₁₀

Во вложениях - результат онлайн-проверки.

Какое десятичное число представлено в 16-битном представлении со знаком? 00000001 01010001 какое дес
Какое десятичное число представлено в 16-битном представлении со знаком? 00000001 01010001 какое дес
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота