【剑指offer】47.求1+2+3+...+n

2020-08-24 14:44:32 浏览数 (1)

题目

求1 2 3 … n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。


分析

由于题目说要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C),那么最简单的方式就是利用递归进行化求解该问题。

github链接:JZ47-求1 2 3 … n


C 代码

代码语言:javascript复制
#include <iostream>
using namespace std;

class Solution {
	public:
	    int Sum_Solution(int n) {
	    	bool x = n > 1 && (n  = this->Sum_Solution(n-1)); 
	    	return n;
	    }
};

int main()
{
	int n;
	Solution s;
	while(cin>>n){
		cout<<s.Sum_Solution(n);
	}
	
	return 0;
 } 

0 人点赞