Pascal的三个问题

来源:百度知道 编辑:UC知道 时间:2024/06/04 01:52:20
1:
一天,三个人遇到了一起。由于他们都不够理智,一心想要回自己借出去的钱,于是互相之间追逐起来。最初,三个人分别站在一个边长为L正三角形的三个顶点上。某一个时刻,三个人同时开始以速度V匀速运动。他们运动的方向是这样的:每一个时刻,Vivian Snow运动的方向指向Sunnypig,Sunnypig运动的方向指向Charles,Charles运动的方向指向Vivian Snow,总之,每一个时刻,三个人都在尽快的接近各自欠自己债的人。最终,三个人都到达了同一个点上,并且通过和谈的方式解决了这一冲突。
Xiaomengxian知道此事后,想写一篇报道,宣传这件事情。他想知道每个人走的路程的长度S,以及他们到达同一个点所需要的时间T。
输入格式 Input Format
输入文件有两行。
第一行为一个实数L(0<=L<=1E100)。
第二行为一个实数V(0<=V<=1E100)。
输出格式 Output Format
输出文件有两行。
第一行为一个实数S,保留一位小数。
第二行为一个实数T,保留一位小数。
----------------------
描述 Description
给出一棵二叉树的中序与后序排列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度≤8)。
输入格式 Input Format
第一行为二叉树的中序序列
第二行为二叉树的后序序列
输出格式 Output Format
一行,为二叉树的先序序列
-------------------------
描述 Description
对一个给定的自然数M,求出所有的连续的自然数段(连续个数大于1),这些连续的自然数段中的全部数之和为M。
例子:1998+1999+2000+2001+2002 = 10000,所以从1998到2002的一个自然数段为M=10000的一个解。
输入格式 Input Format
包含一个整数的单独一行给出M的值(1

program 第一题; {此题仅为算法}
var
L,V,S,T:real;
r:real;
begin
readln(L); readln(V);
r:=sqrt(L*L/5);
s:=pi*r*r/6;
t:=s/v;
writeln(S:0:1);
writeln(T:0:1);
end.

program 第二题;
type
tree=^rec;
rec=record
D:char;
L,R:tree;
end;
var
t:tree;
s2,s3:string[10];

procedure XianXu(t:tree);
begin
if t<>nil then
begin
write(t^.D);
XianXu(t^.L);
XianXu(t^.R);
end;
end;

procedure xxx(f2,r2,f3,r3:integer; var t:tree);
var p:integer;
begin
if (f3<r3)or(f2>r2) then t:=nil else
begin
new(t); t^.D:=s3[f3];
p:=f2; while s2[p]<>t^.D do p:=p+1;
xxx(f2,p-1,r3+p-f2-1,r3,t^.L);
xxx(p+1,r2,f3-1,f3-r2+p,t^.R);
end;
end;

begin
readl