今天回来就听室友说他做的面试题,不能使用if、for、switch等逻辑关键字来实现累加,一开始还觉得的确有点考人,就像脑经急转弯,没转过去就挂了~~不过很快应该就能想到一种比较好的方案,这里面肯定要出现逻辑判断,既然不能使用if 等,而且递归又是比较好的选择,所以有了如下方案~拿出来和大家分享一下,希望有用得着的朋友可以看看,或者提供更好的思路,以下只是个人方案:
int sum(int i) {
return (i ? i + sum(i - 1) : 0);
}
对,你没看错,就是这一行代码就搞定了~~你转过来了吗?