题目描述
Find the N
th term
given arithmetic or geometric sequence s
.
Input:
An integer N
A space-separated line of integers representing the first 6 numbers of the sequence s
.
output:
The N
th term of the sequence as an integer . Note that the sequence is O-indexed !
eg:
input | ouput |
---|---|
7 1 2 3 4 5 6 | 8 |
题目分析
题目要求我们先输入一个整数N,接着输入一个等差或等比数列,输出这个数列的第N项。
解题代码
一位来自葡萄牙老哥的代码:
n,a,b,c,*s=map(int,open(0).read().split())
print([(b-a)*n+a,int(a*(b/a)**n)][c-b!=b-a])
总结
-
open(0).read().split()可以理解为input().split(),但使用open可以自由的控制输入,按Ctrl+Z即可关闭输入,如果用input(),需要用两个才能实现。
-
python3 文件操作open() 方法超全详解:open(0)表示当buffering设置为0时,即表示不使用缓冲,直接进行读写。
-
Python map() 函数:map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。