解题思路: 本题中可以使用递归或者循环的方法进行字符串连接输出对应结果,主要的解题步骤还是要找规律,字符拼接的时候只要别粗心少个符号啥的就行,这一题中首先看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.0分

1 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论