计算1-n的和(不用for, while, goto, if, else, switch, case和三目运算符, 也不用乘除法)---利用间接递归

来源:互联网 发布:移动4g网络套餐 编辑:程序博客网 时间:2024/05/16 08:08

      前面, 我们考虑了构造函数, 在本文中, 我们考虑递归来实现。 但是, 通常的递归需要if来做出口啊, 所以我们可以考虑前面博文介绍过的间接递归,实现1-n求和的代码如下:

#include <iostream>using namespace std;typedef int (*pFun)(int n);int f0(int n){return 0;}int f1(int n){pFun fun[2] = {f0, f1};return fun[!!n](n - 1) + n; // 间接递归}int main(){cout << f1(100) << endl;return 0;}


0 0
原创粉丝点击