需要考虑d=0的情况,同时还要对进行数据距离尝试
在做题的过程中只可以通过部分数据原因是只有单纯的样例可以通过,一些样例之外的数据需要自己考虑
1.gcd 模板
2.d=0
3.b数组的差值的确定,必须对b排序,因为两数之间的差不一定
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
public class Main {
/**
* @param args
* @throws IOException
* @throws NumberFormatException
*/
public static int gcd(int a,int b) {
if(a==0 && b==0) return 0;
return b>0?gcd(b, a%b):a;
}
public static void main(String[] args) throws NumberFormatException, IOException {
// TODO Auto-generated method stub
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
int n=Integer.parseInt(bufferedReader.readLine());
int a[]=new int [n];
int b[]=new int [n-1];
String p[]=bufferedReader.readLine().split(" ");
for(int i=0;i<n;i++){
a[i]=Integer.parseInt(p[i]);
}
Arrays.sort(a);
for(int i=0;i<n-1;i++){
b[i]=a[i+1]-a[i];
}
Arrays.sort(b);
int l= gcd(b[0], b[n-1-1]);
int len=a[n-1]-a[0];
if(l!=0)System.out.println(len/l+1);
else{
System.out.println(n);
}
}
}