九度OJ 题目1179:阶乘

/*********************************
*   日期:2013-2-8
*   作者:SJF0115
*   题号: 九度OJ 题目1179:阶乘
*   来源:http://ac.jobdu.com/problem.php?pid=1179
*   结果:AC
*   来源:2000年华中科技大学计算机研究生机试真题
*   总结:大数 可以用long long int
**********************************/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

//阶乘
long long int JC(int n){
	long long int sum = 1;
	for(int i = 2;i <= n;i++){
		sum *= i;
	}
	return sum;
}

int main()
{
	long long int y1,y2,i,n,odd,even;
	//freopen("C:\\Users\\SJF\\Desktop\\acm.txt","r",stdin);
    while(scanf("%lld",&n) != EOF)
    {
		y1 = 0;
		y2 = 0;
		//偶数
		if(n % 2 == 0){
			even = n;
			odd = n - 1;
		}
		//奇数
		else{
			even = n - 1;
			odd = n;
		}
		//y1
		for(i = 1;i <= odd;i+=2){
			y1 += JC(i);
		}
		//y2
		for(i = 2;i <= even;i+=2){
			y2 += JC(i);
		}
		printf("%.lld %lld\n",y1,y2);
    }
    return 0;
}

你可能感兴趣的:(九度OJ 题目1179:阶乘)