1 solutions

  • 0
    @ 2024-12-10 23:27:11

    C++ :

    #include<iostream>
    using namespace std;
    int b,c,a[10000],i,j,pd;
    int main()
    {
        cin>>b;a[0]=1;pd=0;c=0;
        for (j=1;j<=b;j++)
        {
            for (i=0;i<=pd;i++)
            {
                a[i]=a[i]*j+c;
                c=a[i]/10;
                a[i]=a[i]%10;
            }
            if (c!=0) 
            {
                pd++;a[pd]+=c;
                while (a[pd]>9) pd++,a[pd]+=a[pd-1]/10,a[pd-1]=a[pd-1]%10;
            }
            c=0;
        }
        for (j=pd;j>=0;j--) cout<<a[j];
        //system("pause");
        return 0;
    }
    
    
    

    Pascal :

    var s,ss:string;
        i,n:longint;
    
    procedure gjd(s1,s2:string);
    var a,b,c:array[1..256] of longint;
        ss,sss:string;
        la,lb,lc,i,j,t:longint;
    begin
      fillchar(a,sizeof(a),0);
      fillchar(b,sizeof(b),0);
      fillchar(c,sizeof(c),0);
      la:=length(s1); lb:=length(s2);
      for i:=1 to la do
        a[la-i+1]:=ord(s1[i])-ord('0');
      for i:=1 to lb do
        b[lb-i+1]:=ord(s2[i])-ord('0');
      for i:=1 to la do
      begin
        t:=0;
        for j:=1 to lb do
        begin
          c[i+j-1]:=c[i+j-1]+a[i]*b[j]+t;
          t:=c[i+j-1] div 10;
          c[i+j-1]:=c[i+j-1] mod 10;
        end;
        c[i+j]:=t;
      end;
      lc:=la+lb;
      while (c[lc]=0) and (lc>1) do dec(lc);
      ss:=''; sss:='';
      for i:=lc downto 1 do
      begin
        str(c[i],ss);
        sss:=sss+ss;
        ss:='';
      end;
      s:=sss;
    end;
    
    begin
      readln(n);
      s:='1';
      for i:=2 to n do
      begin
        str(i,ss);
        gjd(s,ss);
      end;
      writeln(s);
    end.
    

    Java :

    import java.math.BigInteger;
    import java.util.Scanner;
    
    public class Main {
    	public static void main(String[] args) {
    		Scanner cin=new Scanner(System.in);
    		int n=cin.nextInt();
    		BigInteger s=BigInteger.valueOf(1);
    		for (int i=1;i<=n;i++)
    		{
    			s=s.multiply(BigInteger.valueOf(i));
    		}
    		System.out.println(s);
    	}
    }
    
    

    Python :

    # coding=utf-8
    s=1
    n=eval(input())
    for i in range(1,n+1):
        s*=i
    print(s)
    
    • 1

    Information

    ID
    596
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By