您的位置:首页 > 其它

排列问题

2015-11-03 19:57 204 查看
#include<cstdio>

#include<math.h>

int a[10],n,r;

void search(int top)

{

int i,j;

bool p;

if(top>r)

{

for(int t=1;t<=r;t++)printf("%d",a[t]);

printf("\n");

}

else

{

for(i=1;i<=n;i++)

{

p=true;

if(top==1)

{

a[top]=i;

search(top+1);

}

if(top>1)

{

j=1;

while(j<top&&p==true)

{

if(i==a[j])p=false;

else j++;

}

if(p==true)

{

a[top]=i;

search(top+1);

}

}

}

}

}

int main()

{

int top=1;

scanf("%d %d",&n,&r);

search(top);

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: