作业帮 > 综合 > 作业

如何判断一个数是一个或几个不同正整数的阶乘之和

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/20 05:54:34
如何判断一个数是一个或几个不同正整数的阶乘之和
C++编程,如题,最好有完整的源程序,
如何判断一个数是一个或几个不同正整数的阶乘之和
可以递归求.
假设这个数是x,
先看他是不是某个数的阶乘.是的话,输出结果
如果不是,将其减去比x小的最大阶乘,看结果是不是满足你上述判断(即递归调用本函数).
如果满足,输出结果
如果不满足,将x减去比x小的第二大阶乘,再看结果是不是满足你上述判断(即递归调用本函数).
循环操作,直至x减去比x/2大的最小阶乘位置.
再问: 我C++编程如下: #include int main() { int n,a=1,i=1; scanf("%d",&n); loop2: a=a*i; i++; if(a==n) printf("NO\n"); else if(an) if(a