作业帮 > 综合 > 作业

一道PASCAL题(圆环数列)

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/23 18:46:21
一道PASCAL题(圆环数列)
有一组数,共N个(5<=N<=30),其拍了形式如下列:11,19,9,12.5.20.1.18.4.16.6.10.15,2,17,3,14,7,13,8,且尾部的8和头部的11首尾相连,构成环形的一组数,编程找出相邻的4个数,其相加和最大,输出这四个数.round输入格式*第一行一个数N *由空格分开的N个整数输出 *一行,由空格分开的4个相邻整数------------------------------------------------------------------------------------------------------输入样例:2011 19 9 12 5 20 1 18 4 16 6 10 15 2 17 3 14 7 13 8—————————————————————————————————输出:11 19 9 12————————————————————
刚打的
var
d,i,n,ans:integer;
a:array[1..100]of integer;
function aa(k:integer):integer;
var
i:integer;
begin
for i:=k to k+3 do
if k>n then aa:=aa+a[k-n]
else aa:=aa+a[k]
end;
procedure pp;
begin
d:=i;
ans:=aa(i);
end;
begin
readln(n);
for i:=1 to n do
read(a[i]);
ans:=0;
for i:=1 to n do
if aa(i)>ans then pp;
for i:=d to d+3 do
if i>n then write(a[i-n],' ')
else write(a[i],' ');
end.
又打一个
var
dd,d,i,n,ans:integer;
a:array[1..100]of integer;
procedure pp;
begin
d:=i;
ans:=dd;
end;
begin
readln(n);
for i:=1 to n do
read(a[i]);
ans:=a[1]+a[2]+a[3]+a[4];
dd:=ans; d:=1;
for i:=5 to n+4 do
if ians then pp; end
else begin dd:=dd-a[i-4]+a[i-n];if dd>ans then pp; end;
for i:=d to d+3 do
if i>n then write(a[i-n],' ')
else write(a[i],' ');
end.