用PL/0语言实现递归调用,计算1的阶乘加2的阶乘加到n的阶乘

1.用PL/0语言实现递归调用,此函数利用循环语句,若n不等于0,则进行下一步,即n=n-1,直到n=0输出。

代码中 n#0,表示n不等于0

var n;
procedure rec;
begin
  
 if n#0 then
    begin
      write(n);
      n:=n-1;
      call rec;
    end;
end;

begin

read(n);
call rec;
end.

代码中有多个end,只有主函数结束,end后为.非主函数结束end后为;。

2.计算sum=1!+2!+....+n!,n从控制台输入

var n, m, fact,sum;
{递归计算fact=m!}
procedure factorial;
begin
 if m>0 then
   begin 
    fact:=fact*m;
    m:=m-1;
    call factorial;
  end;
 end;
begin
{读入n}
  read(n);
  sum:=0;
  while n>0 do
   begin
    m:=n;
    fact:=1;
    call factorial;
    sum:=sum+fact;
    n:=n-1;
  end;
{输出 n!}
write(sum);
end.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值