首页 > 代码库 > 剑指Offer46 求1+2+...+n
剑指Offer46 求1+2+...+n
1 /************************************************************************* 2 > File Name: 46_Accumulate.c 3 > Author: Juntaran 4 > Mail: JuntaranMail@gmail.com 5 > Created Time: 2016年09月04日 星期日 21时18分28秒 6 ************************************************************************/ 7 8 #include <stdio.h> 9 10 // 函数指针法求1+2+...+n11 typedef unsigned int (*fun)(unsigned int);12 13 unsigned int sum_T(int n)14 {15 return 0;16 }17 18 int Sum1(int n)19 {20 static fun f[2] = {sum_T, Sum1};21 return n + f[!!n](n-1);22 }23 24 // 递归25 int Sum2(int n)26 {27 int sum = n;28 int ans = (n>0) && (sum+=Sum2(n-1));29 return sum;30 }31 32 int main()33 {34 int n = 7;35 int ret1 = Sum1(n);36 int ret2 = Sum2(n);37 printf("ret1 is %d\n", ret1);38 printf("ret2 is %d\n", ret2);39 40 return 0;41 }
剑指Offer46 求1+2+...+n
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。