На вход алгоритма подаётся натуральное число \(N\). Алгоритм строит по нему новое число \(R\) следующим образом.
Решение:
C++
#include<iostream>
#include<set>
using namespace std;
int sum_digits(int N) {
int sum = 0;
for(; N; sum += N & 1, N >>=1) ;
return sum;
}
int R(int N) {
int q = 2;
while(q--)
N = (N << 1) + sum_digits(N) % 2;
return N;
}
int32_t main() {
set<int> S;
for(int N = 1; N < 100; N++) {
int res = R(N);
if (res < 100)
S.insert(res);
}
cout << S.size() << '\n';
}
Ответ: \(24\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене