2011-03-12 wcdj
以前总结过的一篇类似问题
讨论帖
题目 :用C++计算1+2+3+……N
条件:
1. 不使用任何循环语句。(for,while,goto等等)
2. 不使用任何条件语句。(if,?:等等)
3. 不使用*/等运算,只使用+-运算
方法1:使用等差数列求和数学公式
题目要求不能使用*/运算,此方法暂不使用。
方法2:使用嵌套宏 (前提是和可以表示为m^n)
方法3:函数递归 (不能使用if等条件语句)
注意:递归对于比较大的n会引起栈溢出计算不出结果的
方法4:类模版和枚举
方法5:函数模板特化
方法6:使用构造函数和静态成员变量