九度oj 题目1179:阶乘

题目1179:阶乘

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:6120

解决:1785

题目描述:

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

输入:

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

输出:

可能有多组测试数据,对于每组数据,
输出题目要求的y1和y2

样例输入:
4
样例输出:
7 26
 1 #include <iostream>
 2 #include <cstdio>
 3 using namespace std;
 4 
 5 //typedef _int64 long long);
 6 long long hashtable[500];
 7 
 8 void creatHash(){
 9     int i;
10     hashtable[1] = 1;
11     for(i = 2; i <= 500; i++)
12         hashtable[i] = i * hashtable[i - 1];
13 }
14 
15 int main(){
16     creatHash();
17     long long y1, y2;
18     int n;
19     while(scanf("%d", &n) != EOF && (n > 0)){
20         y1 = 0;
21         y2 = 0;
22         for(int i = 1; i <= n; i++){
23             if((i & 1) != 0)
24                 y1 += hashtable[i];
25             else
26                 y2 += hashtable[i];
27                 //printf("%lld ", y2);}
28         }
29         printf("%lld %lld\n", y1, y2);
30     }
31     return 0;
32 }

 

 
posted @ 2017-03-01 11:14  琴影  阅读(290)  评论(0编辑  收藏  举报