基础练习21- Sine之舞(python答案)

基础练习 Sine之舞

问题描述
  最近FJ为他的奶牛们开设了数学分析课,FJ知道若要学好这门课,必须有一个好的三

角函数基本功。所以他准备和奶牛们做一个“Sine之舞”的游戏,寓教于乐,提高奶牛们

的计算能力。
  不妨设
  An=sin(1–sin(2+sin(3–sin(4+…sin(n))…)
  Sn=(…(A1+n)A2+n-1)A3+…+2)An+1
  FJ想让奶牛们计算Sn的值,请你帮助FJ打印出Sn的完整表达式,以方便奶牛们做题。
输入格式
  仅有一个数:N<201。
输出格式
  请输出相应的表达式Sn,以一个换行符结束。输出中不得含有多余的空格或换行、回

车符。
样例输入
3
样例输出
((sin(1)+3)sin(1–sin(2))+2)sin(1–sin(2+sin(3)))+1

"""
A1=sin1
S1=A1+1=sin1+1

A2=sin(1-sin2)
S2=(A1+2)A2+1=(sin1+2)sin(1-sin2)+1

A3=sin(1-sin(2+sin(3)))
S3=((A1+3)A2+2)A3+1=((sin1+3)sin(1-sin2)+2)sin(1-sin(2+sin(3)))+1
"""

def An(n):
    for i in range(1,n+1):
        if i!=n:
            print('sin(',i,sep='',end='')
            if i%2:
                print('-',end='')
            else:
                print('+',end='')
        else:
            print('sin',n,sep='',end='')
            for j in range(n-1):
                print(')',end='')
    return ''
                
def Sn(n):
    for j in range(n-1):
        print('(',end='')
    for i in range(1,n+1):
        if i!=n:
            print(An(i),'+',n+1-i,')',sep='',end='')
        else:
            print(An(n),'+1',sep='',end='')
    return ''
            
n=int(input())
Sn(n)

在这里插入图片描述

发布了42 篇原创文章 · 获赞 5 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_45829462/article/details/103882616
今日推荐