【基础】小冬冬历险记

【基础】小冬冬历险记

题意分析:

读入最大的可间隔数m,再读入n和n个数,如果相邻两数的间隔小于m,就不能再走了,就得停止。

解题思路:

先读入一个数组,再循环判断a数组的前一位加上m是不是大于等于a数组的这个位,如果是,就把总数加1,否则,跳出循环。

算法分析:

读入a数组,用for语句循环1到n,判断a[i-1]+m是不是大于等于a[i],

是:Inc(s)

不是:break

注意:a[0]的地方是0

注意:读入之后得进行排序,不然只有60分。

答案参考:

var

n,m,i,s,j,t:longint;

a:array[0..10000]of longint;

begin

readln(m);

readln(n);

a[0]:=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

begin

t:=a[i];

a[i]:=a[j];

a[j]:=t;

end;

for i:=1 to n do

if a[i-1]+m>=a[i] then inc(s)

              else break;

writeln(s);

end.

你可能感兴趣的:(pascal)