码住!!
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_43644276/article/details/102731382
PTA 基础编程题目集 7-16 求符合给定条件的整数集 (15 分)
1
给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。
输入格式:
输入在一行中给出A。
输出格式:
输出满足条件的的3位数,要求从小到大,每行6个整数。整数间以空格分隔,但行末不能有多余空格。
输入样例:
2
输出样例:
234 235 243 245 253 254
324 325 342 345 352 354
423 425 432 435 452 453
523 524 532 534 542 543
#include<bits/stdc++.h>
using namespace std;
int number=0,cnt=0,pos=0,flag=0;//输出3位数的数量 位数 数组的下标位置 判断是否重复的标记
int num[5];//临时储存输出数字的数组
void dfs(int a,int* tmp,int k);
int main(void)
{
int a;
cin>>a;
dfs(a,num,a+3);
return 0;
}
void dfs(int a,int* tmp,int k)
{
if(cnt==3)
{
number++;
for(int j=1;j<=pos;j++)
printf("%d",tmp[j]);
if(number%6==0)
cout<<endl;
else
cout<<' ';
return ;
}
else
{
for(int i=a;i<=k;i++)
{
flag=0;
for(int m=1;m<=pos;m++)
{
if(i==tmp[m])
flag=1;
}
if(flag==1)
continue;
tmp[++pos]=i;
cnt++;
dfs(a,tmp,k);
cnt--;
pos--;
}
}
}
————————————————
版权声明:本文为CSDN博主「隔路人」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43644276/article/details/102731382