题干:给定不超过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<iostream>
using namespace std;
int main()
{
int beg;
int max;
int k;
int show[4];
int i,j=0;
int cnt;
cin>>beg;
max=beg+3; //连续四个数字,意味着最大和最小的数字之差为3
for(i=beg;i<=max;i++)
{
show[j++]=i; //将每个数字存入数组
}
for(j=0;j<=3;j++)
{
for(i=0;i<=3;i++)
{
if(j==i)//防止数字重复
{
continue;
}
for(k=0;k<=3;k++)
{
if(k==i||k==j)//防止数字重复
{
continue;
}
cnt++; //三位数计数器
cout<<show[j]<<show[i]<<show[k];//依次以百,个,十的位置打印数字
if(cnt%6==0&&cnt!=0)
{
cout<<endl;
break; //每打印六个三位数就换行
}
cout<<" "; //每个三位数之间的空格
}
}
}
return 0;
}