这是算术级数级别 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, ...
添加回答
举报
0/150
提交
取消