原题链接:蓝桥杯算法提高VIP-多项式输出
解题思路:
常规思路进行格式化输出
注意事项:
多项式的输出格式大致可分为四类
①(n)次项
n次项系数等于1
n次项系数等于-1
其他
②(n-1)次到2次项
系数大于1
系数等于1
系数小于-1
系数等于-1
③1次项
系数分类同②,注意指数项1不显示
④常数项
大于0
小于0
参考代码:
def f(n): A = tuple(int(j) for j in input().split()) if A[0] == 1: Fx = 'x^{}'.format(n) elif A[0] == -1: Fx = '-x^{}'.format(n) else: Fx = '{}x^{}'.format(A[0],n) for i in range(1,n-1): if A[i] > 1: Fx = Fx + '+{}x^{}'.format(A[i],n-i) elif A[i] == 1: Fx = Fx + '+x^{}'.format(n-i) elif A[i] < -1: Fx = Fx + '{}x^{}'.format(A[i],n-i) elif A[i] == -1: Fx = Fx + '-x^{}'.format(n-i) if A[-2] > 1: Fx = Fx + '+{}x'.format(A[-2]) elif A[-2] == 1: Fx = Fx + '+x' elif A[-2] < -1: Fx = Fx + '{}x'.format(A[-2]) elif A[-2] == -1: Fx = Fx + '-x' if A[-1] > 0: Fx = Fx + '+{}'.format(A[-1]) elif A[-1] < 0: Fx = Fx + '{}'.format(A[-1]) print(Fx) if __name__ == '__main__': n = int(input()) f(n)
0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复