Advertisement
madopew

Untitled

Sep 26th, 2019
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.47 KB | None | 0 0
  1. program Project5;
  2. uses
  3.     System.SysUtils;
  4.  
  5. Function Modify(Num: Int64) : Int64;
  6. var
  7.     NewNum: Int64;
  8. begin
  9.     NewNum := Num mod 10; //записываем последнее число вперед
  10.     NewNum := StrToInt(IntToStr(NewNum) + IntToStr(Num div 10)); //переводим в строку последнее число добавляем строку всего числа без последнего и всю эту строку обратно в число
  11.     Modify := NewNum; //возврат
  12. end;
  13.  
  14. Function GetNumber() : Int64;
  15. var
  16.     Num, NewNum: Int64;
  17.     InProcess: Boolean;
  18. begin
  19.     InProcess := true;
  20.     Num := 9; //начинаем с 10
  21.     while InProcess do
  22.     begin
  23.         Num := Num + 1;
  24.         NewNum := Modify(Num); //последнее число вперед
  25.         if(NewNum mod 2 = 0) then //проверяем только четные потомучто должно быть ровно в два раза больше
  26.         begin
  27.             NewNum := NewNum div 2; //если в два раза больше число найдено
  28.             if (Num = NewNum) then
  29.                 InProcess := false;
  30.         end;
  31.     end;
  32.     GetNumber := Num;
  33. end;
  34.  
  35. var
  36.     Num: Int64;
  37. begin
  38.     WriteLn('Программа начала работу. Это займет некоторое время');
  39.     Num := GetNumber(); //находим число
  40.     WriteLn('Ответ найден ', Num);
  41.     ReadLn(Num);
  42. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement