输入2个正整数m和n,计算m!+n!。程
时间: 2024-05-08 12:19:38 浏览: 30
序如下:
```
#include <stdio.h>
//函数声明
long long int fact(int n);
long long int calc(int m, int n);
int main() {
int m, n;
printf("请输入两个正整数m和n: ");
scanf("%d%d", &m, &n);
printf("%d! %d! = %lld\n", m, n, calc(m, n));
return 0;
}
//计算n的阶乘
long long int fact(int n) {
if(n == 1 || n == 0) {
return 1;
} else {
return n * fact(n - 1);
}
}
//计算m! n!
long long int calc(int m, int n) {
return fact(m) * fact(n);
}
```
注意:由于m和n的阶乘可能非常大,我们使用long long int类型存储答案。
相关问题
输入两个正整数m和n,计算m!+n!
好的,您的问题是输入两个正整数m和n,计算m!+n!。以下是解决方案:
首先,我们可以定义一个函数来计算阶乘:
```
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
```
然后,我们可以让用户输入m和n,并调用这个函数来计算m!和n!,最后将它们相加:
```
m = int(input("请输入第一个正整数m: "))
n = int(input("请输入第二个正整数n: "))
result = factorial(m) + factorial(n)
print("m! + n! = ", result)
```
这样,我们就可以得到m!+n!的结果。希望能够帮到您!
用c语言完成这个任务:输入2 个正整数m 和n,计算m!+n!
好的,我会遵守您的要求。关于您的问题,我可以为您提供以下的C语言代码实现:
```
#include <stdio.h>
int main() {
int m, n, i;
long long fact_m = 1, fact_n = 1;
printf("请输入两个正整数m和n:\n");
scanf("%d %d", &m, &n);
// 计算m的阶乘
for(i = 1; i <= m; i++) {
fact_m *= i;
}
// 计算n的阶乘
for(i = 1; i <= n; i++) {
fact_n *= i;
}
printf("%d! %d! = %lld\n", m, n, fact_m * fact_n);
return 0;
}
```
如果您有更多问题,请继续提问。