1 条题解

  • 0
    @ 2024-12-24 9:59:18

    C :

    #include <stdio.h>
    
    int main ()
    {
    	int n;
    	while(scanf("%d",&n)!=EOF)
    	{
    		long long int y1=0,y2=0;
    		long long int plus=1;
    		for(int i=1;i<=n;i++)
    		{
    			plus *= i;
    			//printf("%djishu\n",plus);
    			y1 +=plus;
    			if(++i<=n)
    			{
    				plus *= i;
    				//printf("%doushu\n",plus);
    				//printf("%dy2\n",y2);
    				y2 +=plus;
    				//printf("%dy2\n",y2);
    			}
    		}
    		printf("%lld %lld\n",y1,y2);
    	}
    }
    

    C++ :

    #include <stdio.h> 
    #include <algorithm> 
    #include <iostream> 
    using namespace std; 
    long long int f[30]; 
    void solve(){ 
        long long int i,tmp=1; 
          
        for(i=1;i<21;i++){ 
            tmp=tmp*i; 
            f[i]=tmp; 
        }    
    } 
      
    int main(){ 
        int n,i; 
        long long int y1,y2; 
          
        solve(); 
        while(scanf("%d",&n)==1){ 
            y1=y2=0; 
            for(i=1;i<=n;i++){ 
                if(i%2==1) 
                    y1+=f[i]; 
                else 
                    y2+=f[i];    
            } 
            printf("%lld %lld\n",y1,y2);    
        } 
        return 0; 
    }
    

    Java :

    import java.util.Scanner;
    public class Main
    {
    	public static void main(String[] args)
    	{
    		int n, i;
    		long y1, y2;
    		Scanner sc = new Scanner(System.in);
    		s();
    		while (sc.hasNext())
    		{
    			n = sc.nextInt();
    			y1 = y2 = 0;
    			for (i = 1; i <= n; i++)
    			{
    				if (i % 2 == 1) y1 += f[i];
    				else y2 += f[i];
    			}
    			System.out.println(y1 + " " + y2);
    		}
    	}
    	static long	f[]	= new long[30];
    	static void s()
    	{
    		long t = 1;
    		int i;
    		for (i = 1; i < 21; i++)
    		{
    			t = t * i;
    			f[i] = t;
    		}
    	}
    	
    }
    
    
    • 1

    信息

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