#CS40508. 阅读程序5-递推与递归8

阅读程序5-递推与递归8

阅读程序

注意:切勿用电脑直接运行代码得出答案,请用大脑+笔+纸运行代码答题,否则是在浪费你的时间。

第8题【NOIP】2017

#include<iostream>
using namespace std;
int g(int m, int n, int x){
4   int ans = 0;
5   int i;
6   if (n == 1)
        return 1;
    for (i = x; i <= m / n; i++)
        ans += g(m - i, n - 1, i);
    return ans;
}
int main(){
    int t, m, n;
    cin >> m >> n;
    cout << g(m, n, 0) << endl;
    return 0;
}

●判断题

(1)把第6行去掉,程序总会输出1。

{{ select(8-1) }}

  • 正确
  • 错误

(2)将第4行的内容接在第2行的后面,程序输出与原样不同。

{{ select(8-2) }}

  • 正确
  • 错误

(3)把第5行去掉,程序会编译错误。

{{ select(8-3) }}

  • 正确
  • 错误

(4)此程序的动能是求将m个无序物品无序地分成n份的方案数

{{ select(8-4) }}

  • 正确
  • 错误

●选择题

(5)输入7 3,则输出( )。

{{ select(8-5) }}

  • 2
  • 4
  • 6
  • 8

(6)输人5 5,则输出()

{{ select(8-6) }}

  • 1
  • 3
  • 5
  • 7