gpt4 book ai didi

java - 在等差级数中找到缺失的项 -

转载 作者:行者123 更新时间:2023-11-29 05:29:37 25 4
gpt4 key购买 nike

所以我正在在线应对这个编程挑战,我应该编写一个程序来找到等差级数中缺失的项。我用两种方法解决了这个问题:一种是对所有给定的级数项求和,然后从实际级数的总和中减去它。我的另一个解决方案是基于找到进程的差异,然后在 for 循环中使用该差异来找到缺失的术语。虽然我的第一个解决方案成功通过了所有测试用例,但我的第二个解决方案未能通过 7 个测试用例中的两个。挑战不允许任何人看到他们的测试用例,所以我不知道出了什么问题。谁能想到我的第二个解决方案无法找到等差级数缺失项的情况?我的第二个解决方案的代码如下。

import java.io.*;
import java.util.Vector;

public class Solution {

public static void main(String[] args) throws Exception {

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int num = Integer.parseInt(br.readLine());
String[] numbers = br.readLine().split(" ");
Vector<Integer> ap = new Vector<Integer>();
for (String str: numbers){
ap.add(Integer.parseInt(str));
}
int first = ap.get(0);
int last = ap.get(ap.size()-1);
int incr = (last-first)/num;
for(int i = first; i<=last; i+= incr){
if(!ap.contains(i)){
System.out.println(i);
break;
}
}
}

}

输入格式 第一行包含一个整数 N,这是将作为输入提供的术语数。接下来是 N 个连续的整数,每对整数之间有一个空格。所有这些都在一行上,并且它们在 AP 中(除了缺少整数的点)。

最佳答案

public class MissingAp 
{
public static void main(String args[]){

int arr[] ={10,8,4,2,0,-2,-4,-6,-8,-10,-12};
int difference[]=new int[arr.length-1];
int missingTerm;

for(int i=1;i<arr.length;i++){
difference[i-1] = arr[i]-arr[i-1];
}
for(int j =0;j<arr.length-1;j++){

if(difference[j]!=difference[j+1]){
missingTerm = arr[j]+difference[j+1];
System.out.println("The missing term is: " + missingTerm );

break;

}}}}

此程序将帮助您查找 AP 中缺失的术语。

关于java - 在等差级数中找到缺失的项 -,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21566824/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com