PTA|基础编程题目集|7-16求符合给定条件的整数集
题目描述#
给定不超过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
- C/C++
copy#include <iostream>
#include <cstring>
using namespace std;
int main()
{
/*按照A,B,C的顺寻,
每次都从剩下的数字当中挑选晓得*/
int A,x,y,z,numArr[5]={0};
int arrBak[5];
int total=0;//计数器
cin>>A;
for (int i = 1; i <=4; i++)
{
numArr[i]=A;
A++;
}
memcpy(arrBak,numArr,5*sizeof(int));
//选择高位数字
for(int i=1;i<=4;i++)
{
x=arrBak[i];
arrBak[i]=0;
for(int j=1;j<=4;j++)
{
if (arrBak[j]!=0)
{
y=arrBak[j];
arrBak[j]=0;
for(int k=1;k<=4;k++)
{
if (arrBak[k]!=0)
{
//cout<<"line 47";
z=arrBak[k];
arrBak[k]=0;
total+=1;
if(total%6==0)
{
cout<<x<<y<<z<<endl;
}
else
{
cout<<x<<y<<z<<' ';
}
}
}
//y重新取值,重置arrBak数组
for(int t=1;t<=4;t++)
{
if(x==numArr[t])
{
arrBak[t]=0;
}
else
{
arrBak[t]=numArr[t];
}
}
}
}
//x重新取值
memcpy(arrBak,numArr,5*sizeof(int));
}
return 0;
}
分类:
OJ基础\进阶\殿堂
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」