有趣的累加求和实现
来源:互联网 发布:硬盘恢复数据价格 编辑:程序博客网 时间:2024/05/20 05:10
如下,利用定义的函数指针,以及递归实现 n+(n-1)+…..+1的求和运算。static 用于FunPr前面,程序刚开始运行时就完成初始化,也是唯一的一次初始化,其实是不会执行,隐藏了。最后调用的sumLast函数,是在n 为0,传入f(n-1),即是个溢出的数4294967295,因为unsigned int为双字节。
#include<iostream>using namespace std;typedef unsigned int (*FunPr) (unsigned int);// ultimate return unsigned int SumLast(unsigned int n){ return 0;}/** * function calculate n+(n-1)+..+1+0 * @ parameter n * @ return sum from 0 to n */unsigned int SumFlow(unsigned int n){ static FunPr f[2]={SumLast, SumFlow}; return n+f[!!n](n-1);}void main(){ int Num = 100; cout<<"The sum is:"<<SumFlow(Num)<<endl;}
源码download
https://github.com/codeAPmind/const-value/blob/master/function%20pointer/functionpointer.cc
Reference:
①http://wenku.baidu.com/link?url=pV0Wle1-LGxU_Yyjgamy2RZk20y6-ufXSwDYSslrgDm0SnIYWQ8kfGlIeKYnc1Zb7TUypsTjn9I9HB2QGT6q0mlgn8WsdkAgUu54jIEPtgy
0 0
- 有趣的累加求和实现
- matlab实现数组的累加求和
- 列的累加求和
- 累加求和
- 有趣的编码累加问题 Encoding 【水】
- 累加求和 for while的应用
- HDOJ 1001 Sum Problem 累加求和的高效率版的C语言实现
- Tensorflow累加的实现
- 不使用 if、for 等逻辑关键字实现累加求和
- WF累加求和5
- mysql 累加求和
- 文件名称: 项目利用循环求和 、分数的累加、乘法表
- while语句简单累加求和
- 1到N累加求和
- linux 一行数值累加求和
- 1到100累加求和
- sql 树形累加函数的实现
- 如何使用递归实现数据的累加
- 获取数据库表及表结构
- 窗口的注册与创建
- TimesTen 数据库monitor 使用分析
- hdu4268 multiset应用 贪心
- UVA 11324 The Largest Clique
- 有趣的累加求和实现
- hdu 1533 流流流
- git入门及常用命令
- Android RelativeLayout相对布局
- 一次因为数据问题引起的reduce被卡住streaming作业问题排查
- iOS——创建圆形头像
- 中国佛学66句震撼世界的禅语(转贴)
- java数据类型详解
- C++二维动态数组的创建与删除