为了账号安全,请及时绑定邮箱和手机立即绑定

算术进阶3级

算术进阶3级

烙印99 2024-01-28 17:35:26
这是算术级数级别 3。输出寻找 2 个下一项。例如,输入为:1, 4, 11, 24。寻找下2项,即45和76。如何解决?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++;             }    }}
查看完整描述

1 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

在 q 循环中,您忘记在每一步更新 term2 数组:


    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++;     

    }

这会生成列表 1, 4, 11, 24, 45, 76, 119, 176, 249, 340, 451, ...


查看完整回答
反对 回复 2024-01-28
  • 1 回答
  • 0 关注
  • 96 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信