等差数列 蓝桥杯

数学老师给小明出了一道等差数列求和的题目。

但是粗心的小明忘记了一部分的数列,只记得其中 NN 个整数。

现在给出这 NN 个整数,小明想知道包含这 NN 个整数的最短的等差数列有几项?

输入格式

输入的第一行包含一个整数 NN。

第二行包含 N 个整数 A1,A2,⋅⋅⋅,AN(注意A1∼AN 并不一定是按等差数
列中的顺序给出)

输出格式

输出一个整数表示答案。

数据范围

2≤N≤100000
0≤Ai≤109

输入样例:

import java.util.*;
public class Main{static int []arr = new int [100005];public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();for(int i = 0;i < n;i ++) {arr[i] = sc.nextInt();}Arrays.sort(arr,0,n);int d = 0;for(int i = 1;i < n;i ++) {d = gcd(d,arr[i] - arr[0]);}if(d == 0) {System.out.println(n);}else {System.out.println((arr[n-1] - arr[0])/d + 1);}}static int gcd(int a,int b) {return b == 0 ? a : gcd(b,a%b);}
}

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部