九度OJ 1179 阶乘(模拟)

题目1179:阶乘

时间限制: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<stdio.h>
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
****************************************************************/

版权声明:本文博客原创文章,博客,未经同意,不得转载。

上一篇:服务器上安装Linux的注意事项


下一篇:访问者模式(Visitor Pattern)——操作复杂对象结构