Advertisement

蓝桥杯B组C省赛真题2019-8 H等差数列

阅读量:

试题 H: 等差数列

问题描述

一位数学教师为小明布置了一道关于等差数列求和的习题。然而,小明由于疏忽,未能完整地记住整个数列,仅能回忆起其中的N个整数。现给出这N个整数,请判断能够包含这些数值的最短等差数列究竟包含多少项?

输入格式

输入的首行给出一个整数 N。
次行则列出 N 个整数 A 1 ,A 2 ,··· ,A N 。(需注意的是,这些数值 A 1 至 A N 并未按照等差数列的排列方式进行呈现)

输出格式

请输出一个整数形式的答案。

样例输入解析

5
2 6 4 10 20

样例输出

10

样例说明

由数字 2、6、4、10、20 构成的最短等差数列应为 2、4、6、8、10、12、14、16、18、20。
针对所有测试案例,数值 N 的取值范围限定在 2 到 100000 之间,而每个元素 A i 的数值则处于 0 到 10 的九次方这一区间内。

解题思路分析

将数列按照一定顺序排列,计算相邻元素之间的差值,并进一步确定这些差值的最大公约数,从而推导出最短的等差数列形式。

复制代码
    #include<iostream>
    #include<algorithm>
    using namespace std;
    int a[100100]

全部评论 (0)

还没有任何评论哟~