Tính n! ( n<=100) với n được nhập từ bàn phím

Tính n! ( n<=100) với n được nhập từ bàn phím

0 bình luận về “Tính n! ( n<=100) với n được nhập từ bàn phím”

  1. * Pascal:

    uses crt;
    var n:longint;
    {—Ham-giai-thua—}
    function gt(n:longint):longint;
    var i:longint;
    begin
       gt:=1;
       for i:=1 to n do gt:=gt*i;
       writeln(n,’!=’,gt);
    end;
    {—Chuong-trinh-chinh—}
    begin
       clrscr;
       repeat
          write(‘Nhap n (n<=100): ‘); readln(n);
       until n<=100;
       gt(n);
       readln
    end.

    * C++:

    #include<bits/stdc++.h>
    using namespace std;
    //Ham giai thua
    void giaithua(int n){
     int gt=1;
     for (int i=1;i<=n;i++)
      gt=gt*i;
     cout<<n<<“!=”<<gt;
    }
    //Chuong trinh chinh
    int main(){
     int n;
     cout<<“Nhap n (n<=100): “; cin>>n;
     giaithua(n);
    }

    * Python:

    def gt(n):
        gt = 1
        
        for i in range(1,n+1):
            gt = gt * i
        return gt

    n = int(input(“Nhap n (n<=100): “))

    print(n,”!=”,gt(n))

    Bình luận
  2. uses crt;

    var n,i:longint;s,s1:string;

    {====================congsolon====================}
    function add(a,b:string):string;
    var i,x,y,du,s:longint;
        c:string;
    begin
     while (length(a)<length(b)) do a:=’0’+a;
     while (length(a)>length(b)) do b:=’0’+b;
     du:=0;c:=”;
     for i:=length(a) downto 1 do
      begin x:=ord(a[i])-48;
            y:=ord(b[i])-48;
            s:=x+y+du;
            du:=s div 10;
            c:=chr(s mod 10+48)+c;
      end;
     if (du>0) then c:=’1’+c;
     add:=c;
    end;

    {====================nhansolon====================}
    function nhan(a,b:string):string;
    var n,i,j:longint;s,t:string;
    begin
     n:=-1;s:=”;
     for i:=length(a) downto 1 do
      begin n:=n+1;t:=”;
            for j:=1 to ord(a[i])-48 do t:=add(t,b);
            for j:=1 to n do t:=t+’0′;
            s:=add(t,s);
      end;
     nhan:=s;
    end;
    {====================chuongtrinh====================}
    begin

    readln(f,n);

    s1:=’1′;

    for i:=1 to n do 

      begin

        str(i,s);

        s1:=nhan(s1,i);

      end;

    write(s1);

    readln

    end.

    Bình luận

Viết một bình luận