Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program zakaz_08_12_2020;
- uses
- System.SysUtils, Math;
- var
- NumberReverse, OneOrZero, i, j, QuantityOfNumbers: Integer;
- NumberInBinary, NumberInBinaryReverse, NumberTemp, K: Int64;
- IsPalindrome2, IsPalindrome10: Boolean;
- begin
- for i := 1 to 1000000 do
- begin
- // Перевод в двоичную систему
- NumberTemp := i;
- K := 1;
- NumberInBinary := 0;
- while (NumberTemp <> 0) do
- begin
- OneOrZero := NumberTemp mod 2;
- NumberInBinary := NumberInBinary + K * OneOrZero;
- K := K * 10;
- NumberTemp := NumberTemp div 2;
- end;
- // Подсчёт количества цифр в 10 СС
- NumberTemp := i;
- QuantityOfNumbers := 0;
- while NumberTemp > 0 do
- begin
- NumberTemp := NumberTemp div 10;
- Inc(QuantityOfNumbers);
- end;
- // Проверка на полиндромность в 10-ичном коде
- NumberTemp := i;
- NumberReverse := 0;
- K := 1;
- for j := 2 to QuantityOfNumbers do
- K := K * 10;
- for j := 1 to QuantityOfNumbers do
- begin
- NumberReverse := NumberReverse + (NumberTemp mod 10) * K;
- NumberTemp := NumberTemp div 10;
- K := K div 10;
- end;
- if (i = NumberReverse) then
- IsPalindrome10 := true
- else
- IsPalindrome10 := false;
- if IsPalindrome10 then
- begin
- // Подсчёт количества цифр в 2 СС
- NumberTemp := NumberInBinary;
- QuantityOfNumbers := 0;
- while NumberTemp > 0 do
- begin
- NumberTemp := NumberTemp div 10;
- Inc(QuantityOfNumbers);
- end;
- // Проверка на полиндромность в 2-ичном коде
- NumberTemp := NumberInBinary;
- NumberInBinaryReverse := 0;
- K := 1;
- for j := 2 to QuantityOfNumbers do
- K := K * 10;
- for j := 1 to QuantityOfNumbers do
- begin
- NumberInBinaryReverse := NumberInBinaryReverse + (NumberTemp mod 10) * K;
- NumberTemp := NumberTemp div 10;
- K := K div 10;
- end;
- if (NumberInBinary = NumberInBinaryReverse) then
- IsPalindrome2 := true
- else
- IsPalindrome2 := false;
- if (IsPalindrome2 and IsPalindrome10) then
- writeln(i);
- end;
- end;
- writeln('End.');
- readln;
- end.
Advertisement
Add Comment
Please, Sign In to add comment