纯属答案凑出来了(小白一名,不熟递归,循环写的)
思路是
1.专门写一个cout<<An的函数;
2.再cout<<"+"<<n;(主函数负责其他部分)
总结:(找规律)从组成整体的最小的整体出发。再一步向后输出。
#include <iostream>
using namespace std;
void A(int i)
{
int j;
for(j=1;j<=i;j++)
{
cout<<"sin"<<"("<<j;
if(j+1<=i)
{
if(j%2==0)
cout<<"+";
else
cout<<"-";
}
}
while(i)
{
cout<<")";
i--;
}
}
int main ()
{
int num;
cin>>num;
int j=num;
for(int i=1;i<=num&&j>=1;i++,j--)
{
if(i==1&&num==1)
{
;
}
if(i==1&&num==2)
{
cout<<"(";
}
if(i==1&&num>2)
{
cout<<"((";
}
A(i);
cout<<"+"<<j;
if(j!=1)
{
cout<<")";
}
}
cout<<endl;
return 0;
}