pascal:数据统计有n个自然数属于【1,2000000000】现在统计这些自然数出现的次数,并按自然数从小到大输出统计结果例 输入8 2 4 2 4 5 100 2 100 输出 2 3 4 2 5 1
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/21 10:27:46
![pascal:数据统计有n个自然数属于【1,2000000000】现在统计这些自然数出现的次数,并按自然数从小到大输出统计结果例 输入8 2 4 2 4 5 100 2 100 输出 2 3 4 2 5 1](/uploads/image/z/1581774-6-4.jpg?t=pascal%EF%BC%9A%E6%95%B0%E6%8D%AE%E7%BB%9F%E8%AE%A1%E6%9C%89n%E4%B8%AA%E8%87%AA%E7%84%B6%E6%95%B0%E5%B1%9E%E4%BA%8E%E3%80%901%2C2000000000%E3%80%91%E7%8E%B0%E5%9C%A8%E7%BB%9F%E8%AE%A1%E8%BF%99%E4%BA%9B%E8%87%AA%E7%84%B6%E6%95%B0%E5%87%BA%E7%8E%B0%E7%9A%84%E6%AC%A1%E6%95%B0%2C%E5%B9%B6%E6%8C%89%E8%87%AA%E7%84%B6%E6%95%B0%E4%BB%8E%E5%B0%8F%E5%88%B0%E5%A4%A7%E8%BE%93%E5%87%BA%E7%BB%9F%E8%AE%A1%E7%BB%93%E6%9E%9C%E4%BE%8B+%E8%BE%93%E5%85%A58+++++++++++2+4+2+4+5+100+2+100+++++%E8%BE%93%E5%87%BA+2+++3++++++++++++++4+++2++++++++++++++5+++1)
pascal:数据统计有n个自然数属于【1,2000000000】现在统计这些自然数出现的次数,并按自然数从小到大输出统计结果例 输入8 2 4 2 4 5 100 2 100 输出 2 3 4 2 5 1
pascal:数据统计
有n个自然数属于【1,2000000000】
现在统计这些自然数出现的次数,并按自然数从小到大输出统计结果
例 输入8
2 4 2 4 5 100 2 100
输出 2 3
4 2
5 1
100 2
pascal:数据统计有n个自然数属于【1,2000000000】现在统计这些自然数出现的次数,并按自然数从小到大输出统计结果例 输入8 2 4 2 4 5 100 2 100 输出 2 3 4 2 5 1
这是noip的一道水题,用快排就可以了,代码如下:
program tongjishuzi;
var a:array[1..200000]of int64;
t,n:longint;
procedure qsort(l,r:longint);
var t,m,n:longint;
k,c:int64;
begin
m:=l;
n:=r;
k:=a[(l+r)div 2];
repeat
while a[m]k do dec(n);
if mn;
if ml then qsort(l,n);
end;
procedure output;
var t:longint;
j,k:int64;
begin
k:=a[1];
j:=0;
for t:=1 to n do
if a[t]=k then inc(j)
else
begin
writeln(k,' ',j);
k:=a[t];
j:=1;
end;
writeln(k,' ',j);
end;
begin
readln(n);
for t:=1 to n do
read(a[t]);
qsort(1,n);
output;
end.