1、求0到指定数各数之间的和
1.1、迭代求和
1 // 迭代求和
2 static int sum1(int num) {
3 int sum = 0;
4 for (int i = 0; i <= num; i++) {
5 sum += i;
6 }
7 return sum;
8 }
1.2、递归求和
1 // 递归求和
2 static int sum2(int num) {
3 if (num > 0) {
4 return num + sum2(num - 1);
5 } else {
6 return 0;
7 }
8 }
1.3、高斯算法求和
1 // 高斯算法求和
2 static int sum3(int num) {
3 int sum = (1 + num) * num / 2;
4 return sum;
5 }
2、求x和y两个数之间数字的和
2.1、迭代求和
1 // 求x和y两个数之间数字的和(迭代法)
2 static int sum4(int x, int y) {
3 int sum = 0;
4 for (int i = x; i <= y; i++) {
5 sum += i;
6 }
7 return sum;
8 }
2.2、递归求和
1 //求x和y两个数之间数字的和(递归法)
2 static int sum5(int x,int y){
3 if(x<y){
4 return x+sum6(x+1,y);
5 }
6 return x;
7 }
2.3、高斯算法求和
1 // 求x和y两个数之间数字的和(高斯算法)
2 static int sum6(int x, int y) {
3 int sum = (x + y) * (y - x + 1) / 2;
4 return sum;
5 }