Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program Project5;
- uses
- System.SysUtils;
- Function Modify(Num: Int64) : Int64;
- var
- NewNum: Int64;
- begin
- NewNum := Num mod 10; //записываем последнее число вперед
- NewNum := StrToInt(IntToStr(NewNum) + IntToStr(Num div 10)); //переводим в строку последнее число добавляем строку всего числа без последнего и всю эту строку обратно в число
- Modify := NewNum; //возврат
- end;
- Function GetNumber() : Int64;
- var
- Num, NewNum: Int64;
- InProcess: Boolean;
- begin
- InProcess := true;
- Num := 9; //начинаем с 10
- while InProcess do
- begin
- Num := Num + 1;
- NewNum := Modify(Num); //последнее число вперед
- if(NewNum mod 2 = 0) then //проверяем только четные потомучто должно быть ровно в два раза больше
- begin
- NewNum := NewNum div 2; //если в два раза больше число найдено
- if (Num = NewNum) then
- InProcess := false;
- end;
- end;
- GetNumber := Num;
- end;
- var
- Num: Int64;
- begin
- WriteLn('Программа начала работу. Это займет некоторое время');
- Num := GetNumber(); //находим число
- WriteLn('Ответ найден ', Num);
- ReadLn(Num);
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement