Задачу проще всего решить, уже имея набор этих чисел, а их не так много и их можно найти в интернете)
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector <long long int> armstrong = {1, 2, 3, 4, 5, 6, 7, 8, 9, 153, 370, 371, 407, 1634, 8208, 9474, 54748, 92727, 93084, 548834, 1741725, 4210818, 9800817, 9926315, 24678050, 24678051, 88593477, 146511208, 472335975, 534494836, 912985153, 4679307774};
long long int n;
int l = armstrong.size();
cin >> n;
for (int i = 0; i < l && armstrong[i] <= n; ++i)
cout << armstrong[i] << '\n';
return 0;
}
Нужно разбить на 4 группы по 8 бит и перевести в 10 систему
11001100
10011000
10111110
01000111
204.152.94.71
Дана последовательность, состоящая из 10 чисел [7, 3, 10, 9, 8, 4, 1, 6, 2, 5]. Вы умеете за один ход поменять в ней местами два
Waln
Const
a: array of integer = (7, 3, 10, 9, 8, 4, 1, 6, 2, 5);
begin
var n := 0;
var found := false;
repeat
found := false;
for var i := low(a) to High(a) - 1 do
if a[i] > a[i + 1] then begin
swap(a[i], a[i + 1]);
found := true;
n := n + 1;
end;
until not found;
writeln('Swaps = ', n);
end.
Ответ
Swaps = 30
256 цветов кодируются 8мью битами 2 ^ 8 =256
Ответ: 10 * 10 * 8 = 800 бит
Перемножать здесь легко, поскольку всего две цифры. Правила простые: 1 · 1 = 1 и 1 · 0 = 0. Всё. То есть при умножении на 1 мы переписываем число (в нашем случае 101101), а в случае 0 просто заполняем всё нулями вместо 101101.
Сложение абсолютно такое же, как и в математике, но в математике мы переносим в следующий разряд, если число при сложении дают результат > 10. Тогда, допустим, 0 пишем, а единицу в следующий разряд. Здесь же всего 2 числа - 0 и 1. То есть, при сложении двух единиц мы получаем 10 - ноль пишем, единицу в следующий разряд. При сложении трёх мы получаем 11, последнюю единицу оставляем, а первую переносим в следующий разряд. Если складывается 0 и 1, то результатом будет единица.