二叉排序树

来源:互联网 发布:免费2级域名 编辑:程序博客网 时间:2024/06/16 21:19

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:6843

解决:1994

题目描述:

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

输入:

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

输出:

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

样例输入:
4
样例输出:
7 26
来源:
2000年华中科技大学计算机研究生机试真题
#include<stdio.h>int Judge(int x) //判断输入的数据是奇数还是偶数{    if(x%2==0)        return 1;    else return 0;}long long cal(int x)//求x得阶乘{    long long loc=1;    for(int i=1; i<=x; i++)    {        loc=loc*i;    }    return loc;}int main(){    int n;    while(scanf("%d",&n)!=EOF)    {        long long y1=0;        long long y2=0;        int m,p;        if(Judge(n)==1)        {            m=n-1;            p=n;        }        else        {            m=n;           p=n-1;        }        for(int i=1;i<=m;){            y1=y1+cal(i);            i=i+2;        }    for(int i=2;i<=p;){            y2=y2+cal(i);            i=i+2;        }        printf("%lld %lld",y1,y2);        printf("\n");    }}