回 帖 发 新 帖 刷新版面

主题:[讨论]奇!free pascal不能作递归!(回复就给分!)

我做了一个递归题目,查了一万遍,问了一万遍,最后发现竟是无法递归!
我的系统是电脑公司特别版xp ghost 7.0.
有谁遇到过这样的问题,请指教,只要不是灌水就给分!
不能递归,比如说用递归做一个n个数全排列,输入5,输出永远只有12345;
再比如更简单的求阶乘,输入任何数,输出永远是1。
赐教赐教!在此多谢了。

回复列表 (共8个回复)

沙发

我认为你应该把free pascal重新安装一下
比赛专用版本是:free pascal 1.0.1

板凳

求全排列的程序在:
[url=http://www.programfan.com/club/post-242503.html]这里[/url]。

里面有我的2个回复(一个是递归,一个是回朔)

3 楼

8成是你编错了

4 楼

各位,我重装了fp(而且还是在天空里新下载的),但是仍然不行啊,
就是不能递归。
程序不可能出错的,因为我只要是做递归就出现同样的情况。我觉得对于一个简单的
递归程序我还可以做对。
谢谢回溯之类的程序,但程序我也会做,只是由于无法递归,所以正确的程序也无法运行成功。
不行啊,大家还有没有办法?急啊,不然这个暑假就泡汤了。

5 楼

[quote]我认为你应该把free pascal重新安装一下
比赛专用版本是:free pascal 1.0.1[/quote]

6 楼

function a : longint;
begin
  a:=12;
  while a>4 do
    begin
       {...}
    end;
end;
这个例子在Turbo Pascal中,a>4会被认为是函数的递归调用,但是在Free Pascal中会认
为a只是一个变量。如果想在Free Pascal中实现递归调用,就要写成下面的形式:
function a : longint;
begint
  a:=12;
  { this is the recursive call }
  if a()>4 then
    begin
       {...}
    end;
end;

7 楼

可是这还是不能解决问题啊!

8 楼

看样子玩完了,我装了tp,也不能递归。
让大家费心啦。

我来回复

您尚未登录,请登录后再回复。点此登录或注册