Snow_maple


私信TA

用户名:2016114438

访问量:21880

签 名:

我喜欢一个人,她叫鞠婧祎!

等  级
排  名 257
经  验 5905
参赛次数 2
文章发表 32
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

解题思路:
看规律:

#include <iostream>
#include<string>
#include<cstdlib>
using namespace std;
int main()
{
    string str1,str2,str3,str4,str5,str6;
    char c,d;
    int i,n,m;
    cin>>n;
    m = n;
    str3 = "sin(";
    //开始找规。每次str2 = "sin(i";
    for(i=1;i<=n;i++){
    c = i+'0';
    d = m+'0';
    //表示前面的字符串没有闭括号----")"
    str2 = str3+c; 
    str4 += ')'; //表示后边的括号数
    //当i=1时,str1 = "sin(1";
    if(i==1) str1 = str2; 
    //str1 = "sin(1-sin(2";
    else if(i%2==0) str1 = str1+'-'+str2; 
    //str1 = "sin(1+sin(2";
    else str1 = str1 +'+'+str2;
    
    //每个数都给给它加上闭括号str4;在加上此时n在加上+")";
    if(m>1)
    str5 += str1+str4+'+'+d+')';
    m--;

}
//开括号,Sn最前面的"((";观察例子可得当n==3时有俩个"((",可得str6;
//其实闭括号也可以这样计算,后面有n个")";不过已在上面循环中加了。
for(int i=1;i<n;i++) str6 +='(';
str5 =str6+str5+str1+str4+'+'+d;
    cout<<str5<<endl;
}


 

0.0分

4 人评分

  评论区

  • «
  • »