Сопоставьте линиями инструменты с их назначением Компоненты Выбор Контур Вдавить/вытянуть Перемещение Вращение Показать все "2 Панорамирование Лупа Вращение
Первый решения это перевести данное число в десятичную систему счисления по формуле:
И выполнить деление.
Но можно и проще. Рассмотрим приведённую формулу для двоичной системы счисления:
Заметим, что каждое слагаемое, начиная c a₂ и левее, кратно 4. Т.к. далее будут a₃·8, a₄·16, a₅·32, ...
Алфавит двоичной системы счисления содержит только 0 и 1. Поэтому для кратности 4 две цифры с левого края должны быть нулями. Иначе при делении на 4 будет остаток 1, 2 или 2+1=3.
К сожалению, задание составлено некорректно. 0<N≤30 допускает случай N=0. Но тогда ряд значений должен оканчиваться 2⁰, а не 2¹, как указано. Да и массив из N элементов при N=0 - нечто странное. Поэтому принято решение считать значение N<1 ошибкой.
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger; Assert(n>0,'Нарушение: N<=0'); var a:=SeqGen(n,2,i->2*i).Reverse.ToArray; a.Println end.
Корректное задание смотри в приложении.
Первый решения это перевести данное число в десятичную систему счисления по формуле:
И выполнить деление.
Но можно и проще. Рассмотрим приведённую формулу для двоичной системы счисления:
Заметим, что каждое слагаемое, начиная c a₂ и левее, кратно 4. Т.к. далее будут a₃·8, a₄·16, a₅·32, ...
Алфавит двоичной системы счисления содержит только 0 и 1. Поэтому для кратности 4 две цифры с левого края должны быть нулями. Иначе при делении на 4 будет остаток 1, 2 или 2+1=3.
Таким образом подходят числа под 1 и 2 номерами.
ответ: 1) 10100₂; 2) 1110100₂
0<N≤30 допускает случай N=0. Но тогда ряд значений должен оканчиваться 2⁰, а не 2¹, как указано. Да и массив из N элементов при N=0 - нечто странное. Поэтому принято решение считать значение N<1 ошибкой.
// PascalABC.NET 3.3, сборка 1555 от 21.10.2017
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger;
Assert(n>0,'Нарушение: N<=0');
var a:=SeqGen(n,2,i->2*i).Reverse.ToArray;
a.Println
end.
Примеры
5
32 16 8 4 2
20
1048576 524288 262144 131072 65536 32768 16384 8192 4096 2048 1024 512 256 128 64 32 16 8 4 2