1 条题解

  • 0
    @ 2024-12-24 9:54:34

    C :

    #include <stdio.h>
    int main()
    {
        int a[2570],c,i,j,m,n;
        while(scanf("%d",&n)!=EOF)
        {
            a[0]=1;
            m=0;
            for(i=1;i<=n;i++){
                c=0;
                for(j=0;j<=m;j++)
                {
                    a[j]=a[j]*i+c;
                    c=a[j]/10;
                    a[j]%=10;
                }
                while(c)
                {
                    m++;
                    a[m]=c;
                    c=a[m]/10;
                    a[m]%=10;
                }
            }
            for(i=m;i>=0;i--)
                printf("%d",a[i]);
    		printf("\n");
        }
           return 0;
    }
    

    C++ :

    #include <stdio.h>
    int a[1111111],n; 
    void run()
    {
    	int i,m,j,t=0;
    	a[0]=1;
    	for(i=1;i<=n;i++)
    	{
    		for(j=0;j<=t;j++)
    			a[j]*=i;
    		for(j=0;j<t;j++)
    		{
    			a[j+1]+=a[j]/10;
    			a[j]%=10;
    		}
    		while(a[t]>9)
    		{
    			a[t+1]=a[t]/10;
    			a[t]%=10;
    			t++;
    		}
    	}
    	for(i=t;i>=0;i--)
    		printf("%d",a[i]);
    	printf("\n");
    }
    int main()
    {
    	scanf("%d",&n);
    	while(n!=-1)
    	{
    		run();
    		n=-1;
    		scanf("%d",&n);
    	}
    	return 0;
    }
    

    Java :

    import java.math.BigInteger;
    import java.util.Scanner;
    
    
    public class Main {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Scanner scanner = new Scanner(System.in);
    		while (scanner.hasNext())
    		{
    			int n;
    			n = scanner.nextInt();
    			BigInteger sum = new BigInteger("1");
    			for (int i = 1; i <= n; i++)
    			{
    				sum = sum.multiply(new BigInteger(Integer.toString(i)));
    			}
    			System.out.println(sum.toString());
    		}
    	}
    
    }
    
    
    • 1

    信息

    ID
    1275
    时间
    1000ms
    内存
    32MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者