#CS40509. 阅读程序5-递推与递归9
阅读程序5-递推与递归9
阅读程序
注意:切勿用电脑直接运行代码得出答案,请用大脑+笔+纸运行代码答题,否则是在浪费你的时间。
第9题【NOIP】2018
#include <iostream>
using namespace std;
int n, m;
int findans(int n, int m) {
if (n == 0) return m;
if (m == 0) return n % 3;
return findans(n - 1, m) - findans(n, m - 1) + findans(n - 1, m - 1);
}
int main(){
cin >> n >> m;
cout << findans(n, m) << endl;
return 0;
}
●判断题
(1)将第5行和第6行一起去掉,程序会出现死循环。
{{ select(9-1) }}
- 正确
- 错误
(2)当输人的n,m的绝对值在1000以内时,程序一定会正常运行。
{{ select(9-2) }}
- 正确
- 错误
(3)若将该递归程序执行记忆化,则程序的时间复杂度为O(nm)。
{{ select(9-3) }}
- 正确
- 错误
(4)将第3行接在第9行后,则程序会编译错误。
{{ select(9-4) }}
- 正确
- 错误
●选择题
(5)输入5 6,则输出为()。
{{ select(9-5) }}
- 5
- 6
- 7
- 8
(6)输人2 4,则输出为()
{{ select(9-6) }}
- 5
- 6
- 7
- 8
(7)如果代码进行记忆化优化后,输入998 998,则输出()
{{ select(9-7) }}
- 998
- 1569
- 1000
- 1325
相关
在以下作业中: