![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проверка числа на симметричность
NickEr © (2007-09-21 03:44:00)Имеется выходное значение, например: res равное какому-то числу в двоичной системе счисления. Как определить симметричную ли последовательность цифр составляет данное число?
Slym (2007-09-21 06:34:00) [1]
uses StrUtils;
function IsSymetricString(const Str:string):boolean;
var
Str1,Str2:string;
c:integer;
begin
result:=false;
if (length(Str) mod 2)<>0 then
exit;
c:=length(Str) div 2;
Str1:=copy(Str,1,c);
Str2:=copy(Str,c+1,c);
Str2:=ReverseString(Str2);
result:=(Str1=Str2);
end;
Usage:
if not IsSymetricString('11100111') then raise Exception.Create('Sorry...');
Slym (2007-09-21 06:24:00) [2]NickEr (21.09.07 3:44)
симметричность - относится к строковому (символьному) представлению числа...
11100111 - симетрично, тоже число в деситичной системе - 231 нет, как и E7 (16'ричной)
MBo (2007-09-21 05:32:00) [3]проверять в цикле биты слева и справа