-
题目描述:
-
输入n,
求y1=1!+3!+...m!(m是小于等于n的最大奇数)
y2=2!+4!+...p!(p是小于等于n的最大偶数)。
-
输入:
-
每组输入包括1个整数:n
-
输出:
-
可能有多组测试数据,对于每组数据,
输出题目要求的y1和y2
-
样例输入:
-
4
-
样例输出:
-
7 26
思路:
注意结果范围,用long long。
代码:
#include <stdio.h>
long long f(int n)
{
long long result = 1;
for (int i=1; i<=n; i++)
result *= i;
return result;
}
int main(void)
{
int n, i;
long long y1, y2;
while (scanf("%d", &n) != EOF)
{
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;
}
/**************************************************************
Problem: 1179
User: liangrx06
Language: C
Result: Accepted
Time:0 ms
Memory:912 kb
****************************************************************/