中易网

求 pascal 程序结果

答案:2  悬赏:70  
解决时间 2021-04-28 07:07
  • 提问者网友:王者刀枪不入
  • 2021-04-27 16:13

 begin

      f[1,k]:=f[2,k-1]+f[n,k-1];

      for i:= 2 to n-1 do

        f[i,k]:=f[i-1,k-1]+f[i+1,k-1];

      f[n,k]:=f[n-1,k-1]+f[1,k-1];

    end;

最佳答案
  • 二级知识专家网友:伤口狠精致
  • 2021-04-27 17:25

这个不是完整程序,没有变量说明,而要求出结果的话,对于你给的部分程序来看是必须要有输入才能有输出。


这个一定是你在看算法的时候看到这么一段,但这段程序的目的不是要你求结果,而是一个算法,是作者告诉你的解题思路。


一看去就很快想到了动态规划,但仔细一看就是个简单的递归而已(就是目前项等于前一项加上后一项);


比如有一个数组是a【1..4】of longint=(1 2 3 4),然后开始执行这个程序:


第一部分: f[1,k]:=f[2,k-1]+f[n,k-1];


a【1】的值由原来的1变为2+4=6;


第二部分: for i:= 2 to n-1 do


    f[i,k]:=f[i-1,k-1]+f[i+1,k-1];


a【2】的值由原来的2变为6+3=9;a【3】的值由原来的3变为9+4=13;


第三部分:f[n,k]:=f[n-1,k-1]+f[1,k-1];


a【4】的值由原来的4变为13+6=19;


不懂再问。

全部回答
  • 1楼网友:绝望伪装
  • 2021-04-27 18:33

首先 这个程序 不完整 从不完整的部分来看 这个2维数组 每个位置的数等于上一行 的左右两边的数字之和 (第一位和最后一位可以看成首尾相连)比如第一行 12345 (n=5,k递增)那么 第2,3行就是7 4 6 8 5,和9 13 12 11 15。以此类推。。。要给出完整程序才好(包括输入输出。。。)

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息