编程算法 - 求1+2+...+n(函数指针) 代码(C++)
来源:互联网 发布:linux 打印内核 编辑:程序博客网 时间:2024/04/30 21:09
求1+2+...+n(函数指针) 代码(C++)
本文地址: http://blog.csdn.net/caroline_wendy
题目: 求1+2+...+n, 要求不能使用乘除法\for\while\if\else\switch\case等关键字及条件判断语句(A?B:C).
可以使用函数指针求解, 通过递归调用, 每次递归值减1, 使用求反运算(!), 即非0为0, 0为1.
代码:
/* * main.cpp * * Created on: 2014.7.12 * Author: spike */#include <stdio.h>#include <stdlib.h>#include <string.h>#include <math.h>typedef size_t (*fun)(size_t);size_t Sum_T(size_t n) {return 0;}size_t Sum(size_t n) {static fun f[2] = {Sum_T, Sum};return f[!!n](n-1) + n;}int main(void){size_t result = Sum(10); printf("result = %d\n", result); return 0;}
输出:
result = 55
2 0
- 编程算法 - 求1+2+...+n(函数指针) 代码(C++)
- 编程算法 - 求1+2+...+n(构造函数) 代码(C++)
- 编程算法 - 求1+2+...+n(函数继承) 代码(C++)
- 编程算法 - 求1+2+...+n(模板类) 代码(C++)
- c++算法极致(一行代码求1+2+3+...+n , 一行代码求n!)
- 求1+2+...+n[C/C++/C#]
- 编程算法 - n个骰子的点数(递归) 代码(C)
- 【100题】求1+2+……N的和-----函数指针的方法!!!
- 编程算法 - 从1到n整数中1出现的次数 代码(C)
- 编程算法 - 最小能被1至n整除的数 代码(C)
- 编程算法 - 最小能被1至n整除的数 代码(C)
- [编程题]求1+2+3+...+n
- 算法题10 求1+2+...+n
- 算法:求1+2+3+...+n
- 算法题目---求1+2+3+...+n
- 编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n, 当输入n为奇数时,调用函数 1/1+1/3+...+1/n(利用指针函数)
- java 编写一个函数,输入n为偶数时,调用函数求1/2+1/4+...+1/n,当输入n为奇数时,调用函数1/1+1/3+...+1/n(利用指针函数)
- python编写一个函数,输入n为偶数时,调用函数求1 / 2 + 1 / 4 + ... + 1 / n, 当输入n为奇数时,调用函数1 / 1 + 1 / 3 + ... + 1 / n(指针函数
- Codeforces 6A
- 如何优雅的ML(四) Logistic 回归
- 黑马程序员-java-数组
- iOS学习,加速度传感器
- 内存管理
- 编程算法 - 求1+2+...+n(函数指针) 代码(C++)
- QTextStream读写文件
- Codeforces 7A
- 栈的应用——Dijkstra双栈算法表达式求值算法
- 烧开水理论——证明自己存在的三个过程
- 黑马程序员--Java学习257K面试题之银行业务系统
- 黑马程序员-java类-java构造方法-java类数组
- 关键字的秘密
- POJ2395 Out of Hay 最小生成树