zadach224.PAS

{* Задача 224 *}

Unit ZADACH224;
Interface
Implementation
Begin
 writeln(' Дано натуральное число. Представьте его в виде суммы степеней двойки. Количество слагаемых - k. Будет ли удвоеная сумма простых множителей числа k больше самого k');
End.

Program z10;

Uses zadach224.pas; {* Эту строку можно удалить *}
Uses crt; {* Подключение модулей *}
Var {* В работе нам потребуются переменные: *}
  b    : Array [1..70] Of longint;
  t    : Array [1..70] Of longint;
  i    : longint;
  j    : longint;
  step : longint;
  n    : longint;
  fl   : longint;
  k    : longint;
  o    : longint;
Begin
  clrscr; {* Очищаем экран *}
  write('Введите число:');
  readln(n);
  i := 1;
  While n > = 0 Do
    If i * 2 > = n Then
    Begin
      inc(j); {* Увеличиваем j на 1 *}
      t[j] := step;
      n := n - i;
      i := 1;
      step := 0;
    End;
    Else Begin
      i := i * 2;
  inc(step); {* step++ *}
End;
  j := j - 1;
  o := j;
  b[1] := 2;
  n := 3;
  k := 1;
  fl := 0;
  m :
While n1 Do
  If j Mod b[i] = 0 Then
Begin
  n := n + b[i];
  j := j Div b[i];
End;
  Else inc(i); {* Прибавим к i единицу *}
    If o > 2 * n Then
      write('больше')
    Else write('меньше');
      readln; {* Ждем подтверждения пользователя *}
End....