解题思路: 本题中可以使用递归或者循环的方法进行字符串连接输出对应结果,主要的解题步骤还是要找规律,字符拼接的时候只要别粗心少个符号啥的就行,这一题中首先看An,它本质上就是“sin(i”加上对应加减号的简单拼接,最后根据n的大小再给字符拼上对应数目的后括号就行了;这里先把An的拼接步骤写到一个函数里面,最好也命名为An,方便后面辨别和使用,然后再来看Sn,它的规律不难看出就是把每一次的Ai+1和上一层的(Ai+(n-i+1))进行拼接,然后再加上n-i,两头加括号后继续依次规律拼接,不过需要注意的是只有最后一层不需要加括号,可以加一个if语句进行判断。
注意事项: 注意不要漏了某个加减号之类的
参考代码:
a=int(input())
def An(a):
result = ""
for i in range(1, a + 1):
result += "sin(" + str(i)
if i % 2 == 0 and i != a:
result += "+"
elif i % 2 != 0 and i != a:
result += '-'
for i in range(a):
result += ")"
return result
count=''
for i in range(1,a+1):
count+=An(i)+'+'+str((a-i+1))
if i!=a:
count='('+count+')'
print(count)
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复