编写程序 ,当M>N时,计算M!/(N!*(M-N!),M和N由键盘输入。 要求:先定义函数nj(n)计算n!,主程序中调用nj()
时间: 2024-03-21 20:41:48 浏览: 49
好的,我可以为您编写这个程序。以下是Python语言的代码实现:
```python
# 定义阶乘函数
def nj(n):
result = 1
for i in range(1, n+1):
result *= i
return result
# 主程序
if __name__ == '__main__':
M = int(input("请输入M的值:"))
N = int(input("请输入N的值:"))
if M < N:
print("输入错误!M必须大于等于N!")
else:
result = nj(M) / (nj(N) * nj(M-N))
print("计算结果为:", result)
```
程序首先定义了一个阶乘函数`nj(n)`,用于计算传入参数`n`的阶乘。然后在主程序中,从键盘输入`M`和`N`的值,并检查`M`是否大于等于`N`。最后调用阶乘函数`nj()`计算结果并输出。注意,为了避免与其他函数名冲突,我将函数名改为了`nj()`。
相关问题
编写程序,求解:(m! + n!)/(m - n)!的值。M,N从键盘上输入且M>N,要求阶乘用函数实现。
下面是用C++语言编写的程序:
```c++
#include <iostream>
using namespace std;
int factorial(int n) { // 阶乘函数
int result = 1;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
int main() {
int m, n;
cout << "请输入两个整数m和n(m > n):" << endl;
cin >> m >> n;
int result = factorial(m) + factorial(n); // 分子部分的计算
result /= factorial(m - n); // 整除部分的计算
cout << "结果为:" << result << endl;
return 0;
}
```
程序中使用了一个名为`factorial`的函数来计算阶乘。在主函数中,先输入两个整数m和n,然后根据公式计算(m!+n!)/(m-n)!的值,最后输出结果。
在程序编辑区编写程序,程序功能要求如下: 求[m,n]之间所有不能被3整除的整数之和,m,n的值由键盘输入。 输入样例:3,12 输出样例:s=45 部分源程序已存在程序编辑区中。 请在fun( )函数中的/begin/ 与 /end/ 之间填入你编写的若干语句,存盘并运行,直到得出正确结果。 请勿改动其它位置的任何内容。#include "stdio.h" int fun(int m,int n) { int sum,i; /***********begin***********/ /***********end***********/ } int main( ) { int m,n; scanf("%d,%d",&m,&n); printf("s=%d\n",fun(m,n)); return 0; }
下面是可以实现该功能的程序代码:
```c
#include <stdio.h>
int fun(int m, int n) {
int sum = 0, i;
for (i = m; i <= n; i++) {
if (i % 3 != 0) {
sum += i;
}
}
return sum;
}
int main() {
int m, n;
scanf("%d,%d", &m, &n);
printf("s=%d\n", fun(m, n));
return 0;
}
```
程序的具体实现流程如下:
1. 在 `fun()` 函数中,首先定义变量 `sum` 和 `i`,其中 `sum` 用于保存所有不能被 3 整除的整数之和,`i` 用于循环遍历从 `m` 到 `n` 的所有整数。
2. 在循环中,对于每个整数,如果它不能被 3 整除,那么将它加到变量 `sum` 中。
3. 循环结束后,返回变量 `sum` 的值。
4. 在 `main()` 函数中,首先从键盘读入两个整数 `m` 和 `n`。
5. 调用 `fun()` 函数计算所有不能被 3 整除的整数之和,并将结果输出到屏幕上。
注意:在读入 `m` 和 `n` 的时候,使用 `%d,%d` 来读入两个整数,并用 `,` 分隔开。在返回变量 `sum` 的时候,要使用 `return` 语句将其返回。
阅读全文