不是VIP会员,不能显示答案

题目解答

题目:
#include<cstdio>

using namespace std;

int findvall(int n)

{

int f;

if(n==0) return 1;

else

{

f=findvall(n/2);

}

return (n*f);

}

int main()

{

int n;

scanf("%d",&n);

printf("%d\n" ,findvall(n));

return 0;

}




判断题

1) 第6行输出if(n==0)改成if(n==1)时,对于输入的正整数n,输出结果不会改变。( )

2) 对于输入的正整数程序输出的值小于等于n。()

3) 如果输入的n是负数的话,该程序会出现死循环,所以该程序不能求解n是负数的情况。( )

4) 如果多次运行该程序,并且输入的n是单调递增的正整数,那么每次输出的结果也是一个严格单调递增的数列。( )


选择题

5) 若两次输入n的值相差1,但输出的结果却是一个正数,一个负数,那么两次输入的n可能是下面四组中的( )。

6) 此程序的时间复杂度是( )。
考点:
分析:
解答:
评论:
老师: