Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- На вход алгоритма подаётся натуральное число N. Алгоритм строит по нему новое число R следующим образом
- 1) Строится двоичная запись числа N.
- 2) К этой записи дописываются справа ещё два разряда по следующему правилу:
- а) складываются все цифры двоичной записи, и остаток от деления суммы на 2 дописывается в конец числа (справа).
- Например, запись 11001 преобразуется в запись 110011;
- б) над этой записью производятся те же действия: справа дописывается остаток от деления суммы цифр на 2.
- Полученная таким образом запись (в ней на два разряда больше, чем в записи исходного числа N)
- является двоичной записью искомого числа R. Укажите максимальное число N,
- для которого результат работы алгоритма не превышает 226.
- В ответе это число запишите в десятичной системе
- }
- ## uses school;
- var summ := 0;
- for var i := 1 to 1000 do
- begin
- var N := i; Println('Число на входе:', N);
- var digit_binary := Bin(N);
- for var j := 1 to Length(digit_binary) do
- if digit_binary[j] = '1' then summ += 1;
- var digit_R := digit_binary + summ mod 2 + summ mod 2;
- Println('Двоичная запись R:', digit_R);
- var digit_R_decimal := Dec(digit_R,2);
- Println('Окончательное число:', digit_R_decimal);
- Println('============================================');
- if digit_R_decimal >= 226 then
- begin
- Print('Стоп! =', i); break;
- end;
- end;
Advertisement
Add Comment
Please, Sign In to add comment