当前位置:   article > 正文

蓝桥杯:等差数列python_输入起点、终点和步长,编写一个小程序在同一行内输出等差数列,输出的每个数字后加

输入起点、终点和步长,编写一个小程序在同一行内输出等差数列,输出的每个数字后加

题目描述:

数学老师给小明出了一道等差数列求和的题目。但是粗心的小明忘记了一 部分的数列,只记得其中 N 个整数。

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

输入:

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

(对于所有评测用例,2≤ N ≤100000,0≤ Ai ≤109。)

输出:

输出一个整数表示答案

样例输入:

5
2 6 4 10 20

样例输出:

10

有的时候忘记考虑特殊情况就会导致错误,本题一开始没有考虑所有的数都相等的情况,导致错误。

代码:

  1. n=int(input())
  2. nums=list(map(int,input().split()))
  3. nums.sort()
  4. mixnum=nums[0]
  5. maxnum=nums[-1]
  6. cha=maxnum-mixnum
  7. l=[]
  8. for i in range(n-1):
  9. l.append(nums[i+1]-nums[i])
  10. dd=min(l)
  11. if dd==0:
  12. result=n
  13. else:
  14. result=int(cha/dd)+1
  15. print(result)

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/774244
推荐阅读
相关标签
  

闽ICP备14008679号