欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python 等差数列末项计算方式

程序员文章站 2022-03-18 09:50:14
等差数列末项计算题目内容:给出一个等差数列的前两项a1,a2,求第n项是多少可以使用以下语句实现非负整数n的输入:n=int(input())输入格式:三行,包含三个整数a1,a2,n输出格式:一个整...

等差数列末项计算

题目内容:

给出一个等差数列的前两项a1,a2,求第n项是多少

可以使用以下语句实现非负整数n的输入:

n=int(input())

输入格式:

三行,包含三个整数a1,a2,n

输出格式:

一个整数,即第n项的值

输入样例:

1
4
100

输出样例:

298

my answer

思路一:等差数列,先求差m是多少,第n项的值很多种方法算,我就采用这种a1 + m*(n-1)

a1 = int(input())
a2 = int(input())
m = a2 - a1
n = int(input())
n = a1 + m*(n-1)
print(n)

思路二:我们折腾一下电脑,让计算机用笨方法,从a1开始算,计算n-1次

a1 = int(input())
a2 = int(input())
n = int(input())
m = a2 - a1
for i in range(n-1):
 a1 += m
print(a1)

补充知识:python判断等差数列

废话不多说啦,大家还是直接看代码吧!

import sys
n = int(sys.stdin.readline().strip())
s = sys.stdin.readline()
s = list(map(int, s.split(' ')))
print(n)
print(s)
for i in range(len(s)-1):
    for j in range(i+1, len(s)):
      if s[i] >= s[j]:
        s[i], s[j] = s[j], s[i]
for j in range(1, len(s)-1):
  if s[j] - s[j-1] == s[j+1] - s[j]:
    flag = 1
  else:
    flag = 0
if flag == 1:
  print('possible')
else:
  print('impossible')

以上这篇python 等差数列末项计算方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。