C'est le niveau de progression arithmétique 3. La sortie recherche 2 termes suivants. Exemple, l'entrée est: 1, 4, 11, 24. Vous recherchez 2 termes suivants, soit 45 et 76. Comment la solution?

package Function;

import java.util.Scanner;
/**
 *
 * @author Lenovo
 */

public class ArithmeticProgression {

public static void main(String[] args){        
        int many;

        Scanner keyboard=new Scanner(System.in);
        System.out.print("Put many term: ");
        many= keyboard.nextInt();
        int term[]= new int [many];

        int n= 0;

        for(int z=0; z<many; z++){
            n= n+1;
            System.out.format("%d term"+ " is: ", n);
            term[z] = keyboard.nextInt();
        }

        System.out.print("enter the next many terms: ");
        int range= keyboard.nextInt();

        int term2[] = new int[range+many];

        for(int i = 0; i < many; i++){
            term2[i] = term[i];
        }

        int b3= term2[many-1]-term2[many-2];
        int b2= term2[many-2]-term2[many-3];
        int b1= term2[many-3]-term2[many-4];

        int c2= b3-b2;
        int c1= b2-b1;

        int d= c2-c1;

        for(int q=0; q<range; q++){

            b3= term2[many-1]-term2[many-2];
            b2= term2[many-2]-term2[many-3];
            b1= term2[many-3]-term2[many-4];

            c2= b3-b2;
            c1= b2-b1;

            d= c2-c1;

            int result= term2[many-1]+b3+c2+d;

            System.out.println(result);
            many++;     

        }
    }
}
0
hnf_mh170 3 nov. 2019 à 15:36

1 réponse

Dans votre boucle sur q, vous oubliez de mettre à jour le tableau term2 à chaque étape:

    for(int q=0; q<range; q++){

        b3= term2[many-1]-term2[many-2];
        b2= term2[many-2]-term2[many-3];
        b1= term2[many-3]-term2[many-4];

        c2= b3-b2;
        c1= b2-b1;

        d= c2-c1;

        int result= term2[many-1]+b3+c2+d;

        System.out.println(result);

        term2[many] = result;  // you forgot this update
        many++;     
    }

Cela génère la liste 1, 4, 11, 24, 45, 76, 119, 176, 249, 340, 451, ...

0
JohanC 4 nov. 2019 à 00:47