教资会网络 | UGC NET CS 2016 年 7 月 – II |问题 15
当 n = 100 时,下面给出的函数f 返回的值是多少?
整数 f (整数 n)
{ if (n = = 0) 然后返回 n;
别的
返回 n + f(n-2);
}
(一) 2550
(乙) 2556
(三) 5220
(四) 5520答案:(一)
说明:我们有函数:
int f (int n)
{ if (n = = 0) then return n;
else
return n + f(n-2);
}
我们必须找到 n = 100 的输出
IE
<>int f (100)
{ if (n = = 0) 然后返回 n; //失败//
别的
返回 100 + f (98)
{ if (n = = 0) 然后返回 n; //失败//
别的
返回 98 + f (96)
{ if (n = = 0) 然后返回 n; //失败//
别的
return 96 + f (94)……………………..f(0);// 这将是一个 AP 系列 100 , 98, 96,…………0// ;
};
};
}
当我们知道第一项和最后一项且没有项时的系列总和:
S n = n / 2 *(第一项 + 最后一项)
即 51 / 2 * (100 + 0)。
= 51 * 50
= 2550。
所以,选项(A)是正确的。
这个问题的测验