pascal语言下载

二分查找 Pascal
1个回答2024-02-12 22:41
你要搜索,那么我们就必须先确保该数组排序,然后不断的二分法尝试
像一个阵列100号,从小到大的顺序行,求x
-1存在,或代表x的函数在一个数组下标
存在(X:Longint型):Longint型;

VAR左,右,中Longint型;

开始

L:= 1;
R:= 100;

而l +1
开始

中期:=(L + R)2区;

如果[中] = X,然后退出(中);

[中] x接着按L:= MID +1;

如果x <[中] R:= MID-1;

结束;

出口(-1);

结束;


















PASCAL宽搜~~
2个回答2022-10-22 20:56
比如宽搜一棵二杈树
先建立一个队列
把树根入队
然后从队头开始
遍历队头的每一个孩子
分别将每一个孩子入队
以上反复执行
直到队为空
PASCAL中的宽搜
3个回答2022-08-27 08:15
懂队列吗?懂就好办了
-队列初始化
-while 队首指针<队尾指针 do
-begin
---从队列中取出一个元素
---for i:=1 to 规则数 do
if 符合规则且未出现过 then begin 扩展新节点;
if 新节点是目标节点 then 输出并退出算法;
新节点入队列
end;
-end;
-if 队首指针>=队尾指针then 输出无解
end.

基本就是这样了,没什么难的,好好学吧,我也刚会不久
pascal 齐王点兵的故事
1个回答2024-03-05 17:09
program hxdb;
var i:integer; {循环变量i,代表人数}
x,y,z:integer; {代表三次排尾人数}

begin
readln(x,y,z); {读取三次排尾人数}
for i:=1 to 100 do {逐个检查1到100中的每一个数}
if (i mod 3 =x) and (i mod 5=y) and (i mod 7=z) {如果满足规定的尾数}
then writeln('soldier is:',i); {打印出来}
end.

mod是求余数。所谓的尾数其实就是总人数除以3,5,7后所得的余数。
宽搜 怎么弄pascal
1个回答2022-10-23 23:25
用队列,读取头节点,处理后把与之相关的节点加入队列,直到队列的头节点赶上尾节点

q[1,1]:=x1;q[1,2]:=y1;//最初的节点进队列
t:=1;//队首指针
tail:=1;//队尾指针
while t<=tail do begin
找与之相关的节点
if 符合要求 then begin
处理头节点,加入与之相关的节点
end;
end;
t:=t+1;
end;
(以上结构适合有一个用二维数组储存的'地图'的宽搜.如果是其他的话请补充一下)
pascal高手请进
1个回答2022-09-15 19:55
1.最简单的方法,枚举5个人带来的糖块数目,然后按题意分,分完后符合条件就输出。在此之上加优化(其实加不加都差不多,又不是比赛,不过优化程序可以给老师表扬O(∩_∩)O~),如for循环时,5人的糖块数枚举至32就可以了(其实枚举到几千、几万都可以,一个break语句就搞定了)
pascal 问题 高手进
2个回答2022-07-30 09:43
第一题:var n,s,i,l,j:longint;
a:array[1..200] of integer;
begin
readln(n);
a[1]:=1;l:=1;
for i:=1 to n-1 do
begin
for j:=1 to l do a[j]:=a[j]*2;
for j:=1 to l do
if a[j]>=10 then
begin
a[j+1]:=a[j+1]+a[j] div 10;
a[j]:=a[j] mod 10;
end;
while a[l+1]>0 do l:=l+1;
end;
for i:=l downto 1 do write(a[i]);
end.
第二题:
var i,n,k,s,t,x,r,m,time:integer;
begin
readln(n,k);
for i:=1 to k do
begin
readln(s,t,r);
x:=s*t;m:=n;
time:=m div x*(t+r);
m:=m mod x;
if m>0 then time:=time+m div s;
if m mod s<>0 then time:=time+1;
writeln(time)
end;
end.
Pascal问题,高手进
1个回答2022-09-24 20:42
1、3我不清楚,2我知道。
先uses sysutils;
然后time(不用自己定义)返回一个实型的数,就是当前的系统时间,单位是天。
(PASCAL)【基础】爬楼梯
1个回答2024-02-24 10:30
var n:longint;
function step(a:longint):longint;
begin
if a-1=0 then exit(1);
if a-2=0 then exit(2);
step:=step(a-1)+step(a-2);
end;
begin
readln(n);
writeln(step(n));
end.
不懂的可以提问
热门问答