pascal中关于数组问题,急!!!

来源:百度知道 编辑:UC知道 时间:2024/05/28 18:19:41
任何一个n的3次方一定可以表示成n个连续的奇数和。输入n(n《=100),输出n的3次方对应的表达式。
样例:
输入:3
输出:7+9+11

最小距离问题
我国内蒙古大草原上有N(N不大于100的自然数)个牧民定居点P1(X1,Y1).P2(X2,Y2).Pn(Xn,Yn),相应的有关权重为Wi,现在要求你在草原上找一点P(Xp,Yp),使P点到任一点Pi的距离Di与Wi之积之和为最小。
即求D=W1*D1+W2*D2+...+Wi+Di+...Wn*Dn有最小值
约定距离Di=|Xp-Xi|+|Yp-Yi|数据输入文件名为INPUD3.TXT,其格式是:
第一行为正整数N的值
第二行至第N+1行,每行有三个数,第一和第二个数分别是这个点的X与Y的坐标,第三个数为它的权重。词三数均为正整数。
例:
5
247
8 11 12
15 8 8
12 80 12
20 60 20
输出文件名为OUPUD3.TXT,第一行是P点坐标X与Y,第二行是最小的D值。输入与输出数据中一行相邻两个数之间用空格区分。

下列代码可以完成第一题:
var l:longint;
a,b,c:integer;
begin
readln(a);
l:=a*a*a;
b:=1;
write(l,'=');
while l>0 do begin
l:=l-b;
if (l-b)mod b<>0 then begin
write(b,'+');
b:=b+2;
end
else writeln(b);
end;
end;
end.

出文件名为OUPUD3.TXT,第一行是P点坐标X与Y,第二行是最小的D值。输入与输出数据中一行相邻两个数之间用空格区分。