游客 Signup | Login
中文 | En

1586 - 阶乘


输入n,<br />

求y1=1!+3!+...m!(m是小于等于n的最大奇数)
y2=2!+4!+...p!(p是小于等于n的最大偶数)。

<br />

Input


每组输入包括1个整数:n

<br />

Output


可能有多组测试数据,对于每组数据,<br />

输出题目要求的y1和y2

<br />

Examples

Input

3
4

Output

7 2
7 26

Solution 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);
	}
}

Solution 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; 
}
Time Limit 1 second
Memory Limit 32 MB
Discuss Stats
上一题 下一题