作业帮 > 综合 > 作业

定义一个函数求F=(N+M)!+N!,M,N均为正整数.要求用递归调用

来源:学生作业帮 编辑:灵鹊做题网作业帮 分类:综合作业 时间:2024/05/03 10:21:22
定义一个函数求F=(N+M)!+N!,M,N均为正整数.要求用递归调用
定义一个函数求F=(N+M)!+N!,M,N均为正整数.要求用递归调用
#include
#define _M 10
#define _N 5
typedef struct mn{
__int64 fac_M;
__int64 fac_N;
__int64 M;
__int64 N;
}mplusn;
__int64 func(mplusn M_N)
{
if(M_N.M == 0 && M_N.N == 0)
return M_N.fac_M + M_N.fac_N;
else if(M_N.M != 0) {
M_N.fac_M *= (M_N.M--);
return func(M_N);
} else {
M_N.fac_N *= (M_N.N--);
return func(M_N);
}
}
void main()
{
mplusn M_N;
M_N.fac_M = 1;
M_N.fac_N = 1;
M_N.M = _M + _N;
M_N.N = _N;
printf("F=(%d+%d)!+%d!= %I64d\n",_N,_M,_N,func(M_N));
}