Задача. Зграя качок летіла клином. Попереду летіла 1 качка, в другому ряду – 2 качки, в третьому -– 3 качки, в n-му ряду – n качок. Всього летіло n рядів качок. Скільки качок в зграї?
Запиши код програми, яка реалізує алгоритм розв'язування даної задачі з використанням структури «Розгалуження»
9 в десятичной = 1001 в двоичной
2 в десятичной = 10 в двоичной
4 в десятичной = 100 в двоичной
1 в десятичной = 1 в двоичной
6 в десятичной = 110 в двоичной
Объяснение:
Я делала так:
10. От нуля отсчитываем количество цифр с конца. 0 под номером 0, а 1 под номером 1.
Дальше мы умножаем каждую цифру данного числа на 2 (так как переводим из двоичной системы) и в степень ставим номер числа
То есть 1•2^1 + 0•2^0 = 2 + 0 = 2 в десятичной
Так же с остальными.
1001 - 3210
1•2^3 + 0•2^2 + 0•2^1 + 1•2^0 (любое число в нулевой степени превращается в единицу) = 8 + 0 + 0 + 1 = 9 в десятичной
program sailor;
var
a, b, c, d, e, f: integer;
begin
read(a, b, c, d, e, f);
if (b - a + 1 > d - c + 1) and (b - a + 1 > f - e + 1) then
write('1');
if (d - c + 1 > b - a + 1) and (d - c + 1 > f - e + 1) then
write('2');
if (f - e + 1 > b - a + 1) and (f - e + 1 > d - c + 1) then
write('3');
end.
Объяснение:
program sailor; // Название программы
var
a, b, c, d, e, f: integer; // Целочисленные переменные, отвечающие за часы в 1 - 3 дни
begin // Начало программы
read(a, b, c, d, e, f); // Считываем часы с клавиатуры
if (b - a + 1 > d - c + 1) and (b - a + 1 > f - e + 1) then // Если разница между часами первого дня + 1 > разницы между часами второго и третьего дней, тогда
write('1'); // Выводим 1
if (d - c + 1 > b - a + 1) and (d - c + 1 > f - e + 1) then // Если разница между часами второго дня + 1 > разницы между часами первого и третьего дней, тогда
write('2'); // Выводим 2
if (f - e + 1 > b - a + 1) and (f - e + 1 > d - c + 1) then // Если разница между часами третьего дня + 1 > разницы между часами первого и второго дней, тогда
write('3'); // Выводим 3
end. // Конец программы