【发布时间】:2016-06-13 21:18:24
【问题描述】:
我想知道数组中偶数之和是否等于奇数之和,只使用递归,没有任何附加函数,除了递归,没有任何静态变量。
如果奇数之和等于偶数之和,则函数返回1,否则返回0。数组中的所有数字都是非负数。
函数签名应如下所示:
function(unsigned int a[], int n)
到目前为止,我已经写了以下内容:
function(unsigned int a[], int n)
{
if(n==0) return 0;
return (a[0]%2)?((a[0]+function(a+1,n-1)):(-a[0]+function(a+1,n-1));
}
此函数返回所需的总和,但不返回问题的答案(如果是,则为 1,如果不是,则为 0)。
是的,这是作业的一部分,但如果没有其他不允许的功能,我无法解决它。
【问题讨论】:
-
鉴于签名似乎不可能。可能有不同的签名。
-
我想,你正在尝试实现错误的算法......考虑使用静态(或全局)变量来存储总和
-
您可以随时修改数组吗?
-
该死..假设我们谈论的是奇数和偶数索引,刚刚写了一个很好的答案..
-
@EugeneSh.:即使是偶数/奇数索引,也是可能的。