浙大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语言
如果处理不当,可能会有超时的风险
#include "stdio.h"
int main(){
int a;
scanf("%d",&a);
int x, y, z;
int count = 0;
for(x=a; x<=a+3; x++){
for(y=a; y<=a+3; y++){
if(x != y){
for(z=a; z<=a+3; z++){
if(x!=z && y!=z){
printf("%d%d%d",x,y,z);
count++;
if(count%6 == 0) printf("\n");
else printf(" ");
}
}
}
}
}
return 0;
}
代码二:Python
# -*- coding: utf-8 -*-
a = eval(input())
count = 0
for x in range(a,a+4):
for y in range(a,a+4):
if x != y:
for z in range(a,a+4):
if x != z and y != z:
print(x*100+y*10+z,end="") #用end=""消除自动换行
count+=1;
if count%6 == 0:
print("\n");
else:
print(" ",end="");