wu


私信TA

用户名:cncfvc

访问量:217470

签 名:

读研狗没有时间刷题了~~

等  级
排  名 2
经  验 36261
参赛次数 8
文章发表 265
年  龄 25
在职情况 学生
学  校 电子科技大学
专  业 通信工程

  自我简介:

写代码 真好玩 ~

这题做了很久 用的是递归的方法 递归大法好 

写起来思路比较清晰 但也比较麻烦 废话不多说 上代码:
#include<iostream>
#include<cstring>
#include<sstream>
using namespace std;
int x;
string f(int n)
{
	string str="";
	if(n==1)
	{
		stringstream ss;
		ss<<n;
		str="sin(";
		str+=ss.str(); 
		return str;
	}
	else
	{
		str+=f(n-1);
		if(n%2!=0) str+="+";
		if(n%2==0) str+="-";
		str+="sin(";
		stringstream ss;
		ss<<n;
		str+=ss.str(); 
		return str;
	}
}
string a(int n)
{
	string str1="";
	str1+=f(n);
	for(int i=0;i<n;i++)
	{
		str1+=")";
	 } 
	 return str1;
}
string s(int n)
{
	string str="";
	if(n==1)
	{
		str+=a(n);
		str+="+";
		stringstream ss;
		ss<<x;
		str+=ss.str();
		return str;
	}
	else
	{
		str+="(";
		str+=s(n-1);
		str+=")";
		if(n==x)
		{
		str+=a(x);
		str+="+";
		str+="1";
	    }
		else
		{
		  
		   	str+=a(n);
		   	stringstream ss2;
		   	str+="+";
		   ss2<<(x-n)+1;
		   str+=ss2.str(); 
		}
		return str;   
	}
}
int main()
{
	//freopen("data.in.txt","r",stdin);
	//freopen("data.out.txt","w",stdout);
  int n;
  cin>>n;
  	x=n;
    cout<<s(n);
  return 0;	
}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

一个人写两份题解可还行
2019-03-13 19:37:38
递归大法6
2018-02-10 22:21:33
始终没看明白,X的作用是什么?
2018-01-25 18:00:37
  • «
  • 1
  • »