题目描述
输入一个整数 n,请你计算 y1=1!+3!+…+m!(m 是小于等于 n 的最大奇数)和 y2=2!+4!+…+p!(p 是小于等于 n 的最大偶数)。
输入格式
一个整数 n。
输出格式
一行,输出 y1,y2,两数之间用单个空格隔开。
数据范围
1≤n≤10
样例
输入样例:
4
输出样例:
7 26
C++ 代码
#include<iostream>
using namespace std;
// 计算阶乘和
int fact(int n,int st) // n表示最大的数,st表示从奇数或偶数开始
{
int res=0;
for(int i=st;i<=n;i+=2)
{
int t=1;
for(int j=1;j<=i;j++) t*=j; // 计算1到i的阶乘
res+=t;
}
return res;
}
int main()
{
int n;
cin>>n;
cout<<fact(n,1)<<' '<<fact(n,2);
return 0;
}