benjam1n


私信TA

用户名:20195647

访问量:1586

签 名:

等  级
排  名 17471
经  验 771
参赛次数 0
文章发表 11
年  龄 21
在职情况 学生
学  校 沈阳浑南职业技术学院
专  业

  自我简介:

解题思路:

注意事项:
1、第一个坑是只有1个数

2、第二个坑是会有公差=0的数据(第82个)

记得特殊处理。

参考代码:

public static long gcd(long a,long b) {
	return b==0?a:gcd(b,a%b);
}
	
public static void main(String[] args) {
	Scanner in = new Scanner(System.in);
	int N = in.nextInt();
	long[] nums = new long[N];
	for(int i=0;i<N;i++)nums[i]=in.nextInt();
	Arrays.sort(nums);
	if(N>1&&nums[1]-nums[0]>0) {
		long max = nums[1]-nums[0];
		for(int i=1;i<N-1;i++)
			max=gcd(max,nums[i+1]-nums[i]);
		System.out.println((nums[N-1]-nums[0])/max+1);
	}else System.out.println(N);
}


 

0.0分

3 人评分

  评论区

  • «
  • »