娄山中学noip吧 关注:137贴子:1,769

20120314作业

只看楼主收藏回复

1、编写程序,用递归法计算两个正整数的乘积mXn。
2、编写程序,用递归法求x的n次方。
3、拓展课:汉诺塔,64个盘子,一秒钟移一个盘子,移完64个盘子需要多少年?


1楼2012-03-14 15:58回复
    递归N*M是把N+N做M次是吧


    2楼2012-03-14 18:29
    回复
      李盈安
      正常的解法:var
      m,n:integer;
      begin
      readln(m,n);
      writeln(m*n);
      readln
      end.


      IP属地:上海4楼2012-03-14 19:21
      回复
        (1)
        var ans,i,j,m,n:longint;
        procedure plus(m:longint);
        begin
        if m>0 then ans:=ans+n
        else exit;
        plus(m-1);
        end;
        begin
        while not eof do begin
        readln(n,m);
        ans:=0;
        plus(m);
        writeln(ans);
        end;
        end.
        (2)
        var ans,i,j,m,n:longint;
        procedure multiply(m:longint);
        begin
        if m>0 then ans:=ans*n
        else exit;
        multiply(m-1);
        end;
        begin
        while not eof do begin
        readln(n,m);
        ans:=1;
        multiply(m);
        writeln(ans);
        end;
        end.
        (3)
        var n,s,ans:qword;
        i:longint;
        begin
        ans:=1;
        for i:=1 to 64 do ans:=ans*2;
        dec(ans);
        writeln(ans);
        s:=60*60*24*365;
        writeln(ans/s:0:2);
        readln;
        end.
        


        5楼2012-03-14 19:27
        回复
          忘记告诉你们了,作业是我批的,抄我的程序,嘿嘿,你懂的


          6楼2012-03-14 19:28
          回复
            参考一下我的写法


            7楼2012-03-14 19:29
            回复
              var ans,i,j,m,n:longint;
              procedure plus(m:longint);
              begin
              if m>0 then ans:=ans+n
              else exit;
              plus(m-1);
              end;
              begin
              while not eof do begin
              readln(n,m);
              ans:=0;
              plus(m);
              writeln(ans);
              end;
              end.


              IP属地:上海10楼2012-03-14 19:32
              回复
                别复制我程序,理解了自己写一遍,我相信,不会和我一模一样的,你说呢


                11楼2012-03-14 19:34
                回复
                  诶,对


                  IP属地:上海12楼2012-03-14 19:34
                  回复
                    初二六班,YXY


                    13楼2012-03-14 19:41
                    回复
                      var n,s,ans:qword;
                      i:longint;
                      begin
                      ans:=1;
                      for i:=1 to 64 do ans:=ans*2;
                      dec(ans);
                      writeln(ans);
                      s:=60*60*24*365;
                      writeln(ans/s:0:2);
                      readln;
                      end.
                      jkl你的程序超了


                      IP属地:上海14楼2012-03-14 19:44
                      回复
                        快说!


                        IP属地:上海18楼2012-03-14 19:51
                        回复
                          一定要说!


                          IP属地:上海20楼2012-03-14 19:56
                          回复
                            YXY,真的没错。


                            21楼2012-03-14 19:58
                            回复
                              没吧,我试过了,


                              22楼2012-03-14 20:00
                              回复