c++编写两个子函数,子函数fac是求一个整数n的阶乘,子函数add是求两个整数a和b的阶乘的和。在主函数中输入两个正整数,求这两个数的阶乘的和
时间: 2024-12-13 17:15:14 浏览: 25
在 C++ 中,你可以定义两个静态成员函数,一个是计算阶乘(fac),另一个是计算阶乘之和(add)。这里是一个简单的示例:
#include <iostream>
// 阶乘函数模板,用于计算任意非负整数的阶乘
template<unsigned int N>
unsigned int factorial() {
if (N == 0 || N == 1)
return 1;
else
return N * factorial<N - 1>();
}
// 计算阶乘和的函数
unsigned int addFactorials(unsigned int a, unsigned int b) {
// 使用模板函数计算每个数的阶乘
unsigned int fact_a = factorial<a>();
unsigned int fact_b = factorial<b>();
// 返回两数阶乘之和
return fact_a + fact_b;
}
int main() {
unsigned int num1, num2;
// 输入两个正整数
std::cout << "请输入第一个正整数: ";
std::cin >> num1;
std::cout << "请输入第二个正整数: ";
std::cin >> num2;
// 调用 addFactorials 函数计算阶乘和并输出结果
unsigned int sum = addFactorials(num1, num2);
std::cout << "两个数的阶乘之和是: " << sum << "\n";
return 0;
}
在这个程序中,factorial
是一个模板函数,可以计算任何非负整数的阶乘。addFactorials
函数接受两个整数作为参数,分别计算它们的阶乘然后相加。在 main
函数中,用户会被提示输入两个正整数,程序会计算并显示它们的阶乘和。
相关推荐

















