时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:4526
解决:1315
题目描述:输入n,
求y1=1!+3!+...m!(m是小于等于n的最大奇数)
y2=2!+4!+...p!(p是小于等于n的最大偶数)。
输入:每组输入包括1个整数:n
输出:可能有多组测试数据,对于每组数据,
输出题目要求的y1和y2
样例输入:4
样例输出:7 26
#include
unsigned long long n;
unsigned long long y1;
unsigned long long y2;
unsigned long long a[20];
void init(int n)
{
a[0]=1;
a[1]=1;
for(unsigned long long i=2;i<=n;++i)
{
a[i]=a[i-1]*i;
}
}
unsigned long long gety1()
{
unsigned long long y1=0;
for(int i=1;i<=n;i+=2)
{
y1+=a[i];
}
return y1;
}
unsigned long long gety2()
{
unsigned long long y2=0;
for(int i=2;i<=n;i+=2)
y2+=a[i];
return y2;
}
int main(int argc, char *argv[])
{
// freopen("1179.in", "r", stdin);
while(~scanf("%llu",&n))
{
init(n);
printf("%llu %llu\n",gety1(),gety2());
}
return 0;
}
/**************************************************************
Problem: 1179
User: kirchhoff
Language: C
Result: Accepted
Time:0 ms
Memory:912 kb
****************************************************************/