折叠

PAT乙级-1010 一元多项式求导

1010 一元多项式求导 (25 分)
 

设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn1。)

输入格式:

以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。

输出格式:

以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0

输入样例:

3 4 -5 2 6 1 -2 0
 
结尾无空行

输出样例:

12 3 -10 1 6 0
 
结尾无空行
 

解题思路:

  • 注意更新后系数为0的情况和最终零多项式的情况即可

解题代码:

##输入
nums = list(map(int,input().rstrip().split()))
##结果集
result = []
for i in range(0, len(nums), 2):
    ##判断是否为系数为0和零多项式的情况
    if nums[i] * nums[i+1] != 0:
        result.append(nums[i] * nums[i + 1])
        result.append(nums[i + 1] - 1)
if len(result) != 0:
    print(" ".join(str(i) for i in result))
else:
    print("0 0")

 

posted @ 2021-11-20 10:46  Coverpast  阅读(16)  评论(0编辑  收藏  举报