不同方法实现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
- 不同方法实现1+2+3+4+5+....+n
- 探索1+2+…+n的不同求解方法?
- 实现1+2+3...+n的不同解法
- 利用递归方法实现一个函数,该函数能够实现n的阶乘,即 n! = n*(n-1)*…*3*2*1
- 3.1题目: 利用递归方法实现一个函数,该函数能够实现n的阶乘,即 n! = n*(n-1)*…*3*2*1;
- n=100,用递归实现:n-(n-1)+(n-2)-(n-3)........2-1;
- c语言用递归的方法实现1!+2!+3!+4!+.....+n!=?阶乘之和
- c语言方法实现1!+2!+3!+4!+.....+n!=?阶乘之和
- 求值:1!/n+3!/n*n*n+5!/n*n*n*n*n+....k!/n*n*n*n....n*n(有k个n);
- 主流数据库之间对SQL:2003标准的不同实现方法比较(第三部分 前n项(Top-n)查询)
- 17_7_13:合并两个有序链表。实现1+2+3+...+n,不使用常规方法
- 输出n! n为用户输入的一个正整数 n! = n*(n-1)*(n-2)*...*1 5! = 5*4*3*2*1 = 120
- 4.8 用递归方法编程计算以下式子的值: n^1+n^2+n^3+n^4+...+n^10,其中 n=1,2,3
- 对集合{1, 2, 3, …, n}中的数进行全排列,可以得到 n!个不同的排列方式
- 递归实现1+2+3+...+n
- Java实现求 1+2+3+.....+n
- 三种方法实现如何不用循环实现1+...+n?
- 1-2+3-4+5-6+7......+n的几种实现
- 合并果子
- Win32一些通篇资源ID显示未定义
- 初学并查集知识总结后续增加
- Add Two Numbers
- proc/sys/net/ipv4/下各项的意义
- 不同方法实现1+2+3+4+5+....+n
- JVM原理和优化
- Cxf中获取Http对象
- Qt为程序或库添加版本信息
- Spring实战4之高级配置篇
- java中的FileChannel基本使用
- 详细介绍如何在Eclipse中使用SVN
- php 实现多图片上传
- MySql--数据库设计三范式