java各种的求和

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 }

 

posted @ 2017-06-12 13:24  Lar丶  阅读(6175)  评论(0编辑  收藏  举报