题目描述:
数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一 部分的数列,只记得其中 N 个整数。
现在给出这 N 个整数,小明想知道包含这 N 个整数的最短的等差数列有 几项?
代码:
package lanqiao;
import java.math.BigInteger;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[] a = new int[N];
for(int i = 0;i < N;i ++)
{
a[i] = sc.nextInt();
}
int min = Integer.MAX_VALUE;
Arrays.sort(a);
for(int i = 0;i < a.length - 1;i ++)
{
int m = a[i + 1] - a[i];
if(min > m)
{
min = m;
}
}
if(min == 0)
{
System.out.println(N);
return;
}
int count = 0;
for(int i = a[0];i <= a[N - 1];i += min)
{
count += 1;
}
System.out.println(count);
}
}