不同方法实现1+2+3+4+5+....+n

来源:互联网 发布:增值税开票软件 金税盘 编辑:程序博客网 时间:2024/06/05 03:50

方法一:
普通函数实现:

#include<stdio.h>int Sum(int n){    int sum = 0;    while (n)    {        sum += n;        n--;    }    return sum;}int main(){    printf("%d ", Sum(10));    return 0;}

方法二:
递归实现:

#include<stdio.h>int Sum(int N){    if (N == 1)        return 1;    else    {        return N + Sum(N - 1);    }}int main(){    printf("%d ", Sum(10));    return 0;}

方法三:
使用构造函数实现:

#include<iostream>using namespace std;class Sum{public:    Sum()    {        n++;        sum = sum + n;    }    static int GetSum()    {        return sum;    }    void Initsum()    {    }private:    static int n;    static int sum;};int Sum::n = 0;int Sum::sum = 0;int main(){     Sum * p = new Sum[10];    cout << Sum::GetSum() << endl;    delete[] p;    return 0;}

方法四:

非类型模板参数编程

#include <iostream>using namespace std;template <int N>int Sum(){    return N + Sum<N - 1>();};template <>int Sum<1>(){    return 1;}int main(){    cout << Sum<10>() << endl;    return 0;}
阅读全文
0 0
原创粉丝点击