生成系列并显示1*3*5 + 2*5*8 + 3*7*11的总和

Tah*_*mid 2 java loops

使用Java生成系列,

1*3*5 + 2*5*8 + 3*7*11 ......

并显示总和.

我试过这种方式,但没有奏效.有没有更好的算法来生成这个系列?

    public static void main(String[] args) {


     int sum1 = 1;
     int sum2 = 0;
     int sum3 = 0;
     int num = 0;;
     for(int i=1; i<5; i++) {
         for(int j=1; j<3; j++) {
             for(int k=1; k <= i+1; k++) {

                 num++;
             }

             sum1 *= num; 
         }

         sum2 += sum1; 
     }
}
Run Code Online (Sandbox Code Playgroud)

Era*_*ran 7

由于您需要生成一系列N个元素的总和,因此您只需要一个循环(不需要嵌套循环).

您应该注意到系列的元素可以计算为:

Element(1) = 1 * 3 * 5
...
Element(i) = i * j * k
Element(i+1) = (i+1) + (j+2) * (k+3)
Run Code Online (Sandbox Code Playgroud)

因此,您可以使用3个变量来计算要添加到总和中的当前元素.

int sum = 0;
int j = 3;
int k = 5;
for(int i = 1; i <= N; i++) {
    sum += i * j * k;  
    j+=2;
    k+=3;
}
Run Code Online (Sandbox Code Playgroud)

要么

int sum = 0;
for(int i = 1, j = 3, k = 5; i <= N; i++, j+=2, k+=3) {
    sum += i * j * k;  
}
Run Code Online (Sandbox Code Playgroud)