#include <iostream>
using namespace std;void divide(int target,int a[],int last_num)
{
if(target<0)
return ;
if(target==0)
{
for(int i=0;i<4;i++)
if(a[i]==1)
cout<<i+1<<"\t";
cout<<endl;
return ;
}
for(int i=last_num;i<4;i++)
if(a[i]==0)
{
a[i]=1;
divide(target-i-1,a,i);
a[i]=0;
}
}int main()
{
int a[4]={0};
for(int i=1;i<=10;i++)
{
cout<<i<<":\t";
divide(i,a,0);
}
return 0;
}
using namespace std;void divide(int target,int a[],int last_num)
{
if(target<0)
return ;
if(target==0)
{
for(int i=0;i<4;i++)
if(a[i]==1)
cout<<i+1<<"\t";
cout<<endl;
return ;
}
for(int i=last_num;i<4;i++)
if(a[i]==0)
{
a[i]=1;
divide(target-i-1,a,i);
a[i]=0;
}
}int main()
{
int a[4]={0};
for(int i=1;i<=10;i++)
{
cout<<i<<":\t";
divide(i,a,0);
}
return 0;
}
解决方案 »
- 能用变量向组件的commandtext属性中传递参数?
- 关于delphi得问题,100分请教高手
- *******我在清华同方上班,用Delphi和C#做信息管理系统,公司内部管理工具和数学物理课件,也就是图形处理程序和一般的动画编程,干3年了
- 管理系统中用户认证这一块有什么方法保证同一用户同一时间唯一使用????
- DBGridEh的显示更新问题
- sndPlaySound(tada, SND_MEMORY or SND_NODEFAULT or SND_ASYNC);那三个参数是什么含义?应该怎么用?
- 关于输入法的编程(100分)
- □□升为4个角,散分!同时祝大家愚人节快乐□□
- 自动在toolbar上面创建的toolbutton,如何让他在已经创建的按钮右边出现
- function Execute(const SQL: String; Params: TParams = nil; Cache: Boolean
- 连接oracle的ODAC有问题,急需!用过的就进来看看,没有用过的来凑凑热闹!
- 能否告知一下从pardox7.0导入到mssql的方法?用代码!
var
i:Integer;
begin
if target < 0 then
exit;
if target = 0
begin
for i := 0 to 3 do
if a[i] = 1 then
writeln(i+1);
writeln('');
exit;
end;
for i := last_num to 3 do
begin
if a[i] = 0 then
begin
a[i] := 1;
divide(target - i - 1, a, i);
a[i] := 0;
end;
end;
end;
program test;var
a:array[0..3] of Integer;
i:Integer;begin
for i := 1 to 10 do
begin
writeln(i);
divide(i, a, 0);
end;
end.