多题目

汉诺塔问题:古代有一个梵塔,塔内有三个座A,B,C,A座上有n个盘子,盘子大小不等大的在下,小的在上。有一个和尚想把这n个盘子从A座移到B座,但每次只能允许移动一个盘子,并且在移动过程中,3个座上的盘子始终保持大盘在下,小盘在上,程序

如下:

#include<iostream>

using namespace std;

void hanoi (int n,char a,char b,char c){

if(n==1)

cout<<n<<" "<<a<<" "<<c<<endl;

else(

hanoi(n-l a,c,b);

cout<<n<<” "<<a<<” "<<c<<endl;

hanoi(n-l,b,a,c);

int main(){

int n;

cin>>n;

hanoi(n,'a','B','C');

return 0;


第1题 判断

当n>=0时,程序不会出现死循环。

A.
正确
B.
错误

第2题 判断

输出共有2"行

A.
正确
B.
错误

第3题 判断

当 n>0 时,将第4行的“==”改为“<=”,程序输出结果必定不变

A.
正确
B.
错误

第4题 判断

将第5行的“n"改为“1”,程序输出结果必定不变。()

A.
正确
B.
错误

第5题 单选

此程序的时间复杂度是()。

A.

O(n)

B.

O(n2)

C.

O(n3)

D.

O(2n)

第6题 单选

要求输出不超过15行,则下列哪个n的值是合法的?

A.

0

B.

4

C.

5

D.

6

发表评论

登录 后再回复