
Правило а) в конец числа (справа) дописывается 1, если число единиц в двоичной записи числа чётно, и 0, если число единиц в двоичной записи числа нечётно. Правило а) приведет к тому, что число единиц станет нечетным в любом случае.
Правило б) к этой записи справа дописывается остаток от деления количества единиц на 2. После правила а) число единиц нечетное, поэтому дописываться всегда будет единица. Это, в свою очередь, означает, что все число будет нечетным и в десятичной системе, а общее число единиц в двоичной записи будет четным.
Число R по условию превышает 31₁₀=11111₂ и должно быть нечетным.
Будем последовательно проверять все нечетные числа, начиная от 100001₂.
100001 может быть результатом работы алгоритма, т.е. число единиц в нем четное и оно завершается единицей.
В самом деле, если N₂=1000, то по правилу а) получаем 10000, а по правилу б) получаем 100001.
Итак, N₂=100001₂=2⁵+2⁰=32+1=33₁₀
ответ: 33
using System;
using System.Linq;
using System.IO;
namespace LearnCSharp
{
class Program
{
static void Main(string[] args)
{
string str, str2;
StreamReader reader = new StreamReader("1.txt");
str = reader.ReadLine();
int[] x = str.Split(' ').Select(n => Convert.ToInt32(n)).ToArray();
reader = new StreamReader("2.txt");
str2 = reader.ReadLine();
int[] y = str2.Split(' ').Select(n => Convert.ToInt32(n)).ToArray();
reader.Close();
x = x.Concat(y).ToArray();
Array.Sort(x);
File.WriteAllText("3.txt", string.Join(" ", x));
}
}
}
Я честно говоря не знаток C# но я проверил у меня все работает