设有N个不同整数的数列:例如N=4时,有4个不同整数的数列为17,4,16,5。数列中的第1个数17,比它后面的三个数都大,则称数17的逆数为3。数列中的第2个数4比它后面的数都小,则称数4的逆数为0。同时记数列中全部逆数的和称为数列的逆数。上例中,数列17,4,16,5的逆数:为3+0+1+0=4。
[程序要求] 当给出N个不同整数的数列后,求出此数列的逆数。
[算法描述] 为求得上面问题的解,设置数组A:ARRAY[1..N] OF INTEGER 和逆数计数器5,然后用一个二重循环求出数列的逆数。
[程 序]
CONST N=10;
VAR I,J,S:INTEGER;
A:ARRAY[1..N] OF INTEGER;
BEGIN
S:=0;
FOR I:=1 TO N DO READ(A[I]);
FOR I:=1 TO N-1 DO
FOR J:= I+1 TO N DO
IF A[I]>A[J] THEN S:=S +1; ;
WRITELN('S=',S)
END.