逆序数
在一个排列中,如果一对数的前后位置与大小顺序相反,即前面的数大于后面的数,那么它们就称为一个逆序。一个排列中逆序的总数就称为这个排列的逆序数。逆序数为偶数的排列称为偶排列;逆序数为奇数的排列称为奇排列。如2431中,21,43,41,31是逆序,逆序数是4,为偶排列。——这是北大《高等代数》上的定义。
用pascal语言输出逆序数
type
f=array[0..1000] of longint;
var
j,k,n:longint;
a:f;
procedure input(var a:f);
var
s:string;
i,j,k,t,n:longint;
begin
readln(s);
a[0]:=length(s);
for i:=1 to length(s) do
begin
if (s[i]<='9') and (s[i]>='0') then
a[a[0]+1-i]:=ord(s[i])-ord('0')
else
a[a[0]+1-i]:=ord(s[i])-ord('A')+10;
end;
end;
begin
readln(t);
input(a);
for j:=1 to a[0] do
write(a[j]);
writeln;
end.