概述
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int ans[20];
int now[20];
int m,n;
void dfs(int p)
{
if(p>=m)return;
if(now[p]>n)return;
if(now[p]==n)
{
if(p<m)
{
for(int i=1;i<=p;i++)
ans[i]=now[i];
m=p;
}
return;
}
int j=p;
for(int i=p;i>=1;i--)
{
j++;
now[j]=now[j-1]+now[i];
dfs(p+1);
j--;
}
}
int main()
{
while(cin>>n&&n)
{
memset(now,0,sizeof(now));
memset(ans,0,sizeof(ans));
m=1000;
now[1]=1;
dfs(1);
for(int i=1;i<=m;i++)
printf("%d ",ans[i]);
printf("n");
}
return 0;
}
最后
以上就是纯情板凳为你收集整理的1443:【例题4】Addition Chains的全部内容,希望文章能够帮你解决1443:【例题4】Addition Chains所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复