求1~n的和
阿新 • • 發佈:2019-02-07
題目描述
實現1+2+3…+n,要求不能使用乘除法、迴圈、條件判斷、選擇相關的關鍵字。
思路
使用遞迴來解決這個問題
程式碼
#include <stdio.h>
int add(int n,int& sum)
{
n && add(n - 1,sum);
return sum += n;
}
int main()
{
int i = 0;
int n = 100;
int sum = 0;
printf("1+2+3+4+...+n=%d\n",add(n,sum));
return 0;
}
再看另外一種方式:
#include <iostream>
using namespace std;
class SUM
{
public:
SUM()
{
n += 1;
sum += n;
}
void Print()
{
cout << sum << endl;
}
private:
static int n;
static int sum ;
};
int SUM::n = 0;
int SUM::sum = 0;
int main()
{
SUM* p = (SUM*)new SUM[100];
p->Print();
delete p;
return 0;
}