C++ 递归实现一个数的各项阶乘之和

#include <iostream>
using namespace std;

//前n项阶乘
int getjj(int n) {
	if(n==0 ||n==1) {
		return 1;
	}
	return n*getjj(n-1);
}

//各项阶乘和
int fun(int n) {
	//0的阶乘是1
	if(n==0 || n==1) {
		return 1;
	}
	return fun(n/10)+getjj(n%10);

}

int main() {

	cout<<"13各项阶乘和 "<<fun(13)<<endl;

	cout<<"103各项阶乘和 "<<fun(103)<<endl;

	cout<<"250各项阶乘和 "<<fun(250)<<endl;

	return 0;
}

在这里插入图片描述

发布了167 篇原创文章 · 获赞 52 · 访问量 6925

猜你喜欢

转载自blog.csdn.net/qq_42363032/article/details/103859119
今日推荐