AcWing 1246. 等差数列
原题链接
中等
作者:
Even_7
,
2023-11-28 11:30:15
,
所有人可见
,
阅读 40
import sys
import math
n=int(input())
nums=list(map(int,sys.stdin.readline().strip('\n').split()))
# print(nums)
dp=[0 for x in range(n-1)]
for x in range(n-1):
dp[x]=abs(nums[x]-nums[x+1])
# print(dp)
number=100000000000
for x in range(0,len(dp)-1):
num=math.gcd(dp[x],dp[x+1])
if num<number:
number=num
# print(number)
min_num=min(nums)
max_num=max(nums)
if number==0:
count=len(nums)
print(count)
else:
count=1+(max_num-min_num)//number
print(count)